我喜欢 StackExhchange / StackOverflow 集成 OpenID 的方法。
据我了解,这个过程是这样的:
- 如果用户向 OpenID 提供商(即 Google)注册,StackOverflow(或类似网站)会为该用户创建一个帐户,并将 OpenID 与该帐户相关联。
- 现有用户可以将多个 OpenID 帐户与其 StackExchange 帐户关联。
我很想模仿这种行为,因为我在其他网站上还没有看到它如此用户友好。
我知道 StackExchange 是基于 ASP.NET MVC 构建的,但不确定它是否使用标准 ASP.NET 凭据模型,然后在单独的数据库表中添加 OpenID 提供程序或什么。
所以,我的问题是:
- StackExchange 如何创建这些帐户?他们是在标准 ASP.NET MVC 提供程序中创建用户然后关联 ID,还是有单独的过程?
- StackExchange 如何允许其他 OpenID 提供商帐户与现有帐户关联?
预先感谢您提供的任何帮助!
堆栈交换网站使用 https://blog.stackoverflow.com/2010/04/openid-one-year-later/ the DotNetOpenAuth http://www.dotnetopenauth.net/库(以前称为 DotNetOpenId 库)。
你基本上需要一个User
表和一个User_OpenID
具有一对多关系的表。斯科特·汉塞尔曼 http://www.hanselman.com/blog/TheWeeklySourceCode25OpenIDEdition.aspx有一篇很好的基础文章或者尝试一下更深入的概述 http://www.plaxo.com/api/openid_recipe
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)