Stackexchange站点如何关联用户帐户和OpenID登录?
-
10-10-2019 - |
题
我喜欢Stackexhange / Stackoverflow集成OpenID的方法。
据我了解,这个过程是这样的:
- 如果用户与OpenID提供商(IE Google)签约,则Stackoverflow(或类似站点)为用户创建一个帐户,并将OpenID与该帐户相关联。
- 现有用户可以将多个OpenID帐户与他/她的Stackexchange帐户相关联。
我很想效仿这种行为,因为我在其他网站上还没有看到它几乎是用户友好的。
我知道STACKEXCHANGE是建立在ASP.NET MVC上的,但不确定它是否使用标准ASP.NET凭据模型,然后将OpenID提供商添加到单独的DB表中还是什么。
所以,我的问题是:
- stackexchange如何创建这些帐户?他们是在标准ASP.NET MVC提供商中创建用户,然后关联ID,还是有单独的过程?
- STACKEXCHANGE如何允许其他OpenID提供商帐户与现有帐户关联?
预先感谢您提供的任何帮助!
解决方案
stackexchange 站点使用 这 dotnetopenauth 库(以前称为dotnetopenid库)。
您基本上需要一个 User
桌子和 User_OpenID
与一对多关系的桌子。 苏格兰人汉塞尔曼 有一个很好的基本文章或尝试 更多深度概述
不隶属于 StackOverflow