我喜欢新的MVC OpenID / OAuth登录功能,但我想知道如何添加新的登录按钮,例如我希望我的用户使用他们的StackExchange帐户登录或使用他们的OpenID网址与stackoverflow { {3}}
怎么做?是否有任何样品在步骤中显示出来?
答案 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登录支持。