2012-06-03 29 views
1

我犯了錯誤服務從http://mysite.comhttp://www.mysite.com同一站點,並允許來自兩個OpenID登錄。這兩個領域,www和非www都是不同的。結合OpenID谷歌令牌哈希從www和非www

當最初從www.mysite.com登錄的用戶嘗試從mysite.com登錄並且沒有發現令牌被提示創建新帳戶時,我遇到了問題。

我打算修復服務器端,總是重定向到www。版本的網站,但我怎樣才能合併來自非www網站的令牌?

我可以使用返回的電子郵件進行檢測,但在某些情況下,用戶更改了他們的電子郵件,因此我無法知道他們的Gmail帳戶要做什麼匹配。

回答

0

這是我做過什麼:

我發了電子郵件給所有誰收到與谷歌簽署了用戶和送他們一個鏈接,固定的一切。

此鏈接包含一個安全哈希,並會自動登錄,並重定向到一個賬戶關聯頁面。這樣就會創建一個新的正確的Google關聯。使用它後,鏈接變得無效。

如果用戶沒有看到電子郵件,我還爲所有以電子郵件爲標識符的Google OpenID用戶創建了一個額外的關聯條目,現在他們有2個Google關聯,一個散列關聯和一個電子郵件關聯。

這樣做的唯一用戶就是那些使用Google OpenID註冊並將其電子郵件地址更改爲與其Google帳戶所提供內容不同的用戶。所以電子郵件是爲他們。