如何在MVC 4中实现自定义OpenID依赖方

时间:2012-09-09 10:13:49

标签: oauth openid asp.net-mvc-4 dotnetopenauth

我喜欢新的MVC OpenID / OAuth登录功能,但我想知道如何添加新的登录按钮,例如我希望我的用户使用他们的StackExchange帐户登录或使用他们的OpenID网址与stackoverflow { {3}}

怎么做?是否有任何样品在步骤中显示出来?

1 个答案:

答案 0 :(得分:5)

不幸的是,Microsoft公开的API仅限于硬编码到特定URL的登录提供程序 - 而不是在登录用户之前可以接受来自用户的输入的URL,这是OpenID所要求的。

您可以通过创建实现DotNetOpenAuth.AspNet.IAuthenticationClient的类并使用StackExchange进行硬编码来添加对特定OpenID提供程序(如StackExchange)的支持。一个很好的例子是Microsoft's own provider for Yahoo!的源代码。检查一下,看看它有多简单,然后创建自己的,只需硬编码到https://openid.stackexchange.com/而不是https://me.yahoo.com/,并且您已获得StackExchange登录支持。