gpt4 book ai didi

.net - 如何在不询问用户 OpenID URL 的情况下使用 OpenID?

转载 作者:行者123 更新时间:2023-12-05 00:54:11 24 4
gpt4 key购买 nike

我正在使用 DotNetOpenAuth 设置 OpenID 提供程序,但我被卡住了。

似乎 OpenID 要求用户首先提供他的 OpenID URL,然后消费者将他重定向到提供者,将 URL 作为参数提供(checkid_setup 模式)。

但是对于谷歌和其他一些提供商,它的工作方式有所不同。您只是被重定向到一个通用页面,您可以在其中登录或选择您已经登录的帐户之一。或者,如果您使用单个帐户登录,则直接重定向回来。

这是否与 checkid_immediate 模式有关?如果是这样,请给我一个解释其工作原理的文章的链接。

最佳答案

您所看到的行为差异与您注意到的 checkid_setup 与 checkid_immediate 模式是正交的。

如果用户输入他自己的 OpenID,则称为声明标识符。相反,如果用户只是点击(或输入)他的提供者(例如在您的示例中为 Google),则称为 OP 标识符。

例如,如果您输入 https://www.google.com/accounts/o8/id进入 OpenID 框,您将看到您所描述的行为,因为无论该用户是谁,Google 都会帮助用户登录您的网站。

所以此时你有几个选择:

  • 如果您的站点基于 ASP.NET Web 表单,您可以使用 OpenIdButton控制,输入 https://www.google.com/accounts/o8/id标识符添加到适当的属性中,然后用户可以单击该按钮以使用他们的 Google 帐户简单地登录。
  • 如果您正在使用 MVC(或使用 Web 表单但想以编程方式执行此操作),您可以调用 OpenIdRelyingParty.CreateRequest("https://www.google.com/accounts/o8/id")并将带有结果的用户重定向到 Google。

  • 无论哪种方式,如果用户已经登录谷歌,他们就不需要登录谷歌。如果用户已经告诉谷歌他们同意登录你的网站,那么在这个登录过程中他们根本看不到谷歌。

    关于.net - 如何在不询问用户 OpenID URL 的情况下使用 OpenID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8890811/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com