2017-07-27 4 views
2

Ich habe einen Azure AD B2C-Mandanten erstellt und ein lokales Konto mit dem Benutzernamen als Anmeldemethode konfiguriert. Ich habe eine Registrierungsrichtlinie erstellt und eine Anmeldung über den Azure AD B2C-Anmeldebildschirm vorgenommen. Im Anmeldebildschirm habe ich eine E-Mail-Adresse eingegeben und Azure AD B2C hat eine E-Mail zur Validierung gesendet. Nach der erfolgreichen Anmeldung versuchte ich, die Details des angemeldeten Benutzers über die Graph-API abzurufen.Benutzer-E-Mail von Azure AD B2C kann nicht mit GraphAPI abgerufen werden

Graph API URL verwendet Benutzerdaten abzurufen:

https://graph.windows.net/<tenantid>/users?api-version=1.6 

konnte ich alle bisherigen Informationen neuer Benutzer wie Benutzername erhalten, Vorname, Nachname, etc ... mit Ausnahme der E-Mail-Adresse eingegeben durch der Benutzer während der E-Mail-Validierung.

Bitte lassen Sie mich wissen, ob es irgendeine Art und Weise oder Konfiguration verfügbar ist E-Mail-Adresse über die Graph API zu erhalten.

+0

Haben Sie überprüfen Sie die 'otherMails' Eigenschaft? Gab es dort Werte? –

+0

Es kommt als leeres Array. Wenn ich im Azure-Portal sehe, ist die E-Mail-ID im Feld Autorisierungs-E-Mail verfügbar. – Santhanam

Antwort

4

Wenn sich Benutzer mit Benutzername + E-Mail-Bestätigung anmelden, gibt es keine Möglichkeit, die verwendete E-Mail-Adresse abzurufen.

Hier sind alle Fälle in Bezug auf E-Mail in Azure AD B2C und wo sie gespeichert sind.

  • Lokale Konto mit E-Mail-basierten Zeichen: E-Mail ist über die signInNames Eigenschaft
  • Local Account mit Benutzername-basierten Zeichen in + E-Mail-Überprüfung zur Verfügung: E-Mail nicht überall verfügbar ist.
  • Social IdPs über built-in policies: E-Mail, zur Verfügung, wenn der IdP, ist über die otherMails Eigenschaft zur Verfügung.

Weitere Überlegungen:

  • Die E-Mail für MFA & Passwort-Reset verwendet wird, ist nicht überall verfügbar entweder (das als lokales Konto mit Benutzername-basierten Zeichen in + E-Mail-Überprüfung wirklich der gleiche Fall ist).
  • Sie können den Benutzer für Ihre E-Mail in Ihrem sign up policy's "Sign-up attributes" fragen.
  • Mit custom policies und benutzerdefinierte IdPs, es ist wirklich an Ihnen, ob Sie die E-Mail abgerufen werden sollen, wo sie abgerufen werden und wo Sie es speichern.

Sie können jederzeit darum ersuchen, dass E-Mail für Ihr Szenario zur Verfügung gestellt werden, oder andere fragt über die Azure AD B2C feedback forum

+0

Eine prägnante (und lächerliche) Zusammenfassung. Ich werde bemerken, in dem Fall, dass Sie Localaccount Benutzernamen Login verwenden, scheinen Sie nicht in der Lage sein, die zugehörige E-Mail zu überschreiben (zumindest über die "Mail" oder "OtherMails" -Eigenschaften mit Graph - ich könnte versuchen, es hinzuzufügen zu den signInNames als letzten Ausweg), was bedeutet, dass ein Benutzer niemals die integrierte Kennwortrücksetzungsrichtlinie verwenden kann, es sei denn, sie haben immer noch Zugriff auf die ursprüngliche E-Mail-Adresse, mit der sie sich angemeldet haben. – mwardm

Verwandte Themen