2013-04-07 113 views
5

我正在開發一個MVC 4應用程序並使用MS提供的OAuth提供程序,但我想爲每個用戶都獲取一個電子郵件地址。對於谷歌(默認)和Facebook(使用FacebookClient)我已經得到了用戶的地址,但怎樣做以下幾點:MVC 4 OAuth:如何獲取電子郵件地址

  • 的Twitter(我讀這是不可能的 - 仍然如此?)
  • 微軟 - 解決(見註釋)
  • 雅虎 - 工程(見註釋)
  • LinkedIn - 通過自己的供應商解決了像MS

那麼,當它不可能通過OAuth與Twitter一樣?
我讀過不同的線程,只是詢問用戶是不是很好/安全。如果我還需要通過電子郵件進行驗證以實際使用地址(但不是通常的帳戶),那麼它是否「足夠安全」,因爲我將在更改地址時使用該地址?

+0

不是一個完整的答案,所以它有一個評論:http://msdn.microsoft.com/en-us/library/hh243648.aspx#user – 2013-04-07 16:19:44

+0

@WiktorZychla:感謝您的提示 - 一些後續搜索帶給我to http://mvcdiary.com/2013/03/01/how-oauthsecurity-to-obtain-emails-for-different-oauth-clients-but-microsoft-client-doesnt-return-email-it-didnt-include -scope-wl-emails /它解決了微軟賬戶的問題... – ChrFin 2013-04-07 20:18:42

+0

剛發現,雅虎工作「開箱即用」如果你有@ yahoo.com地址,我以前沒有(只是一個雅虎帳戶)... – ChrFin 2013-04-08 19:30:16

回答

1

OAuth的目的不是提供電子郵件地址,它以標準化的方式提供身份驗證。僅僅因爲很多實現也會讓你選擇一個電子郵件地址並不意味着它們都必須遵守。 Twitter就是一個例子。

爲什麼會詢問用戶的電子郵件地址不是「安全的」? 我會質疑的,我的意思是,如果你不能相信用戶對他們的電子郵件地址的輸入,你可以信任他們什麼?如果你使用某種確認郵件系統,它肯定會好起來的?

+3

如果用戶可以輸入無效的電子郵件地址,則「不安全」,但當OAuth提供商提供該地址時,我可以認爲它是正確的(並且用戶更容易再次輸入)。我已經對其他案件進行了確認,但據說對用戶來說這並不容易...... – ChrFin 2013-09-06 09:05:53

相關問題