2013-04-07 5 views
5

Ich entwickle eine MVC 4-App und verwende die von MS bereitgestellten OAuth-Provider, aber ich möchte für jeden Benutzer eine E-Mail-Adresse erhalten. Für Google (Standard) und Facebook (mit FacebookClient) bekomme ich schon die Nutzer ansprechen, aber was ist mit den folgenden Funktionen ausführen:MVC 4 OAuth: So erhalten Sie die E-Mail-Adresse

  • Twitter (ich habe es gelesen nicht möglich ist - immer noch wahr?)
  • Microsoft - gelöst (siehe Kommentare)
  • Yahoo - Werke (siehe Kommentar)
  • LinkedIn - wie für MS über eigene Provider gelöst

Und was ist, wenn es nicht über OAuth wie mit Twitter möglich ist?
Ich habe in verschiedenen Threads gelesen, es ist nicht gut/sicher, nur den Benutzer danach zu fragen. Ist es "sicher genug", wenn ich auch eine Bestätigung per E-Mail benötige, um die Adresse (aber nicht das Konto im Allgemeinen) tatsächlich zu verwenden, wie ich es bei der Adressänderung mache?

+0

Keine vollständige Antwort also in einem Kommentar: http://msdn.microsoft.com/en-us/library/hh243648.aspx#user –

+0

@WiktorZychla: Danke für den Tipp - einige Follow-up-Suche brachte mich http://mvcdiary.com/2013/03/01/how-oauthsecurity-to-obain-emails-for-different-oauth-clients- but-microsoft-client-doesn-return-email-it-didnt-include -scope-wl-emails/die das Problem für Microsoft-Konten löst ... – ChrFin

+0

Gerade herausgefunden, dass Yahoo funktioniert "out of the box" Wenn Sie eine @ yahoo.com-Adresse haben, die ich vorher nicht hatte (nur ein yahoo account) ... – ChrFin

Antwort

1

Der Zweck von OAuth ist es nicht, E-Mail-Adressen bereitzustellen, es bietet die Authentifizierung in einer standardisierten Weise. Nur weil viele der Implementierungen Ihnen auch die Option einer E-Mail-Adresse geben, bedeutet das nicht, dass sie alle erfüllen müssen. Twitter ist ein typisches Beispiel.

Warum würde ein Benutzer nach seiner E-Mail-Adresse fragen nicht "sicher" sein? Ich würde das in Frage stellen, ich meine, wenn Sie einer Benutzereingabe bezüglich ihrer E-Mail-Adresse nicht vertrauen können, was können Sie ihnen vertrauen? Wenn Sie eine Art Bestätigungsmailsystem verwenden, wäre das sicher in Ordnung.

+3

"Nicht sicher", wenn der Benutzer eine ungültige E-Mail-Adresse eingeben kann, aber wenn der OAuth-Provider es liefert, kann ich annehmen, dass es korrekt ist (und es für den Benutzer einfacher ist, es nicht erneut einzugeben). Ich habe es bereits mit Bestätigung für die anderen Fälle, aber wie gesagt, das ist nicht so einfach für den Benutzer ... – ChrFin

Verwandte Themen