【发布时间】:2012-09-02 12:35:50
【问题描述】:
我喜欢新的 MVC OpenID/OAuth 登录功能,但我想知道如何添加新的登录按钮,例如我希望我的用户使用他们的 StackExchange 帐户或使用他们的 OpenID url 登录,就像在 stackoverflow @ 987654321@
如何做到这一点?是否有任何示例在步骤中显示了这一点?
【问题讨论】:
标签: oauth openid asp.net-mvc-4 dotnetopenauth
我喜欢新的 MVC OpenID/OAuth 登录功能,但我想知道如何添加新的登录按钮,例如我希望我的用户使用他们的 StackExchange 帐户或使用他们的 OpenID url 登录,就像在 stackoverflow @ 987654321@
如何做到这一点?是否有任何示例在步骤中显示了这一点?
【问题讨论】:
标签: oauth openid asp.net-mvc-4 dotnetopenauth
不幸的是,Microsoft 公开的 API 仅限于硬编码到特定 URL 的登录提供程序,而不是可以在用户登录之前接受用户输入的登录提供程序,而 OpenID 需要这样做。
您可以通过创建一个实现DotNetOpenAuth.AspNet.IAuthenticationClient 并经过硬编码以使用 StackExchange 的类来添加对特定 OpenID 提供程序(例如 StackExchange)的支持。 Microsoft's own provider for Yahoo! 的源代码就是一个很好的例子。看看它,看看它有多简单,然后创建您自己的,简单地硬编码为 https://openid.stackexchange.com/ 而不是 https://me.yahoo.com/,这样您就获得了 StackExchange 登录支持。
【讨论】: