2013-04-07 7 views
5

Pracuję nad aplikacją MVC 4 i korzystam z dostawców OAuth dostarczonych przez MS, ale chciałbym uzyskać adres e-mail dla każdego użytkownika. Dla Google (domyślnie) i Facebook (używając FacebookClient) Ja już się użytkownicy adres, ale co zrobić następującym:MVC 4 OAuth: Jak uzyskać adres e-mail?

  • Twitterze (mam ją przeczytać nie jest to możliwe - jeszcze prawda?)
  • Microsoft - rozwiązane (patrz komentarze)
  • Yahoo - roboty instalacyjne (patrz komentarz)
  • LinkedIn - rozwiązany poprzez własnego operatora jak dla MS

A co, gdy nie jest to możliwe za pośrednictwem OAuth, podobnie jak w serwisie Twitter?
Czytałem w różnych wątkach, że nie jest dobrze/bezpiecznie zapytać użytkownika o to. Czy jest "wystarczająco bezpieczny", jeśli wymagam weryfikacji pocztą e-mail, aby rzeczywiście używać adresu (ale nie konta w ogóle), jak to zrobię (zmieniając) podczas zmiany adresu?

+0

Brak kompletnej odpowiedzi, więc niech to będzie w komentarzu: http://msdn.microsoft.com/en-us/library/hh243648.aspx#user –

+0

@WiktorZychla: Dzięki za podpowiedź - przyniosły mnie kolejne wyszukiwania na 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-e-maile/które rozwiązuje problem dla kont Microsoft ... – ChrFin

+0

Dowiedziałem się, że Yahoo działa "po wyjęciu z pudełka" JEŚLI masz adres @ yahoo.com, którego wcześniej nie miałem (tylko konto yahoo) ... – ChrFin

Odpowiedz

1

Celem protokołu OAuth nie jest dostarczanie adresów e-mail, aby zapewnić uwierzytelnianie w znormalizowany sposób. Tylko dlatego, że wiele implementacji ma również opcję adresu e-mail, nie oznacza, że ​​wszystkie muszą być zgodne. Przykładem jest Twitter.

Po co pytać użytkownika, czy jego adres e-mail nie jest "bezpieczny"? Chciałbym to zakwestionować, to znaczy, jeśli nie możesz ufać wkładowi użytkowników w odniesieniu do ich adresu e-mail, czemu możesz im ufać? Jeśli używasz jakiegoś systemu potwierdzania poczty, to na pewno będzie dobrze?

+3

"Niezabezpieczone" w przypadku, gdy użytkownik może wprowadzić nieprawidłowy adres e-mail, ale gdy dostawca OAuth go dostarczy, mogę założyć, że jest on poprawny (i łatwiej jest mu nie wprowadzić go ponownie). Mam już to z potwierdzeniem dla innych przypadków, ale jak powiedziałem, to nie jest takie łatwe dla użytkownika ... – ChrFin