我正在使用DotNetOpenAuth來識別Google用戶。我目前正在檢索他們的電子郵件地址並將其保存在我的數據庫中。但是,如果他們在他們的Google帳戶中更改其電子郵件地址,該怎麼辦?然後我的副本不能再鏈接到他們的個人資料。DotNetOpenAuth - 如何唯一標識Google用戶?
有沒有辦法通過DotNetOpenAuth唯一標識Google帳戶?
我正在使用DotNetOpenAuth來識別Google用戶。我目前正在檢索他們的電子郵件地址並將其保存在我的數據庫中。但是,如果他們在他們的Google帳戶中更改其電子郵件地址,該怎麼辦?然後我的副本不能再鏈接到他們的個人資料。DotNetOpenAuth - 如何唯一標識Google用戶?
有沒有辦法通過DotNetOpenAuth唯一標識Google帳戶?
始終使用IAuthenticationResponse.ClaimedIdentifier
來唯一標識用戶!
。在很多方面使用電子郵件地址是不安全的。任何提供者都可以發出肯定的斷言,聲稱用戶擁有特定的電子郵件地址。 OpenID並不妨礙OP關於電子郵件地址的說法,所以如果你只是使用電子郵件地址和用戶密鑰,那麼你就會對用戶欺騙攻擊敞開大門。即使OP沒有試圖不誠實,你也不能相信它,因爲你不知道OP是否驗證了電子郵件地址,或只是詢問用戶他們的電子郵件地址是什麼。
即使您信任Google不說謊,但有幾個原因(其中一些原因可以減輕,但並不明顯)不會將電子郵件地址視爲用戶標識符。例如,Google允許用戶更改其Google帳號背後的電子郵件地址。如果用戶這樣做,然後返回到您的網站,您的網站會將其標識爲不同的用戶。更糟糕的是,如果其他用戶後來聲稱爲他們的新Google帳戶使用了回收電子郵件地址,則您的網站會將其識別爲舊用戶,並讓新用戶訪問一堆舊用戶數據。
OpenID聲明的標識符旨在避免所有這些麻煩。
如果您可以擴展原因或提供參考更多信息將是有用的。 – 2012-07-18 22:14:36
我已經按照要求添加了一些原因和OpenID 2.0規範相關部分的鏈接。 – 2012-08-23 13:29:34
您是否在談論一個完全改變他們的Google用戶名的用戶?我認爲你不能這樣做,仍然被視爲同一個Google用戶。請參閱[這裏](http://support.google.com/mail/bin/answer.py?hl=zh_CN&answer=8158)。 – ScottieMc 2012-07-10 14:55:57
確實,他們的帳戶電子郵件無法更改。但是如果我收到聯繫人的電子郵件呢?而且,如果我(例如)用Flickr進行身份驗證,而電子郵件更改是可能的呢? – 2012-07-10 16:16:45
哦,好的。那麼你應該可以存儲** ClaimedIdentifier **。請參閱[這裏](http://stackoverflow.com/questions/2196965/storing-dotnetopenauth-information-and-user-info-retrieval) – ScottieMc 2012-07-10 16:32:20