2010-11-15 166 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