StackExchange网站如何关联用户帐户和OpenID登录?
问题描述:
我喜欢StackExchange/*整合OpenID的方法。StackExchange网站如何关联用户帐户和OpenID登录?
据我了解,过程是这样的:
- 如果使用者登入了一个OpenID提供商(如谷歌),*上(或类似网站),为用户创建和关联帐户使用该帐户的OpenID。
- 现有用户可以将多个OpenID帐户与他/她的StackExchange帐户相关联。
我很想效仿这种行为,因为我没有在其他网站上看到它的用户友好。
我知道StackExchange是建立在ASP.NET MVC上的,但我不确定它是否使用标准的ASP.NET凭证模型,然后将OpenID提供程序添加到单独的数据库表中或什么。
所以,我的问题是:
- 如何StackExchange创建这些帐户?他们是否在标准的ASP.NET MVC提供者中创建一个用户,然后关联这个ID,还是有一个单独的过程?
- StackExchange如何让额外的OpenID提供者帐户与现有帐户相关联?
在此先感谢您的帮助!
答
StackExchange sites useDotNetOpenAuth库(以前称为DotNetOpenId库)。
您基本上需要一个User
表和一个User_OpenID
表与一对多的关系。 Scot Hanselman有一个很好的基本文章或尝试more in depth overview
+0
正是我在找什么;不知道是否还有更多。完美 - 感谢您的快速帮助! – SeanKilleen 2010-12-11 02:55:49
这属于元。 – chrisaycock 2010-12-09 05:36:59