2010-11-15 164 views
4

我想知道Stackoverflow如何维护使用open-id登录的用户的其他详细信息?据我所知,这些用户的详细信息存储在谷歌,脸书等服务器(其开放标识正在使用的那些)。那么这个网站如何也存储关于用户的积分,徽章,特权等信息?stackoverflow如何维护Open-ID登录用户的数据库?

Open id Selector,Stackoverflow使用的是客户端JavaScript库,那么这怎么可能?

是否创建了单独的数据库?如果是,如何?甚至没有注册!

请提供详细信息。

+0

此外,我如何获得其他信息是存储在Facebook /雅虎/谷歌如出生日期,城市,地方等? – Anand 2010-11-15 06:43:19

回答

4

当您登录时,服务器会检查您是否已有帐户。如果没有条目(这是第一次登录),服务器将自动创建一个新用户并保存openid标识符。

因此,下次登录时,该行已经存在,堆栈溢出将识别您。顺便说一下,您可以通过查看您的个人资料网址来了解数据库条目的ID。

JavaScript openid-selector没有涉及到这一点。它只是一个便利的功能,可以轻松选择openid提供商。所有的魔法都是在openid魔法发生之前完成的。

+0

因此,我可以得到有关存储在facebook/yahoo/google中的open-id用户的其他信息,例如出生日期,城市,地点等? – Anand 2010-11-15 06:32:39

+0

openid消费者可以在重定向到openid提供程序时请求属性。提供者/用户可以决定是否共享和哪些属性。请注意,Facebook不支持openid。 StackOverflow仅为openid和Facebook提供统一的用户界面。自己不实施openid可能是一个好主意,但使用现有的库。 – 2010-11-15 07:07:28