5

我喜欢StackExchange/StackOverflow整合OpenID的方法。StackExchange网站如何关联用户帐户和OpenID登录?

据我了解,过程是这样的:

  • 如果使用者登入了一个OpenID提供商(如谷歌),StackOverflow上(或类似网站),为用户创建和关联帐户使用该帐户的OpenID。
  • 现有用户可以将多个OpenID帐户与他/她的StackExchange帐户相关联。

我很想效仿这种行为,因为我没有在其他网站上看到它的用户友好。

我知道StackExchange是建立在ASP.NET MVC上的,但我不确定它是否使用标准的ASP.NET凭证模型,然后将OpenID提供程序添加到单独的数据库表中或什么。

所以,我的问题是:

  • 如何StackExchange创建这些帐户?他们是否在标准的ASP.NET MVC提供者中创建一个用户,然后关联这个ID,还是有一个单独的过程?
  • StackExchange如何让额外的OpenID提供者帐户与现有帐户相关联?

在此先感谢您的帮助!

+1

这属于元。 – chrisaycock 2010-12-09 05:36:59

回答

6

StackExchange sites useDotNetOpenAuth库(以前称为DotNetOpenId库)。

您基本上需要一个User表和一个User_OpenID表与一对多的关系。 Scot Hanselman有一个很好的基本文章或尝试more in depth overview

+0

正是我在找什么;不知道是否还有更多。完美 - 感谢您的快速帮助! – SeanKilleen 2010-12-11 02:55:49

相关问题