2017-07-27 3 views
2

J'ai créé un client Azure AD B2C et configuré un compte local avec le nom d'utilisateur comme méthode de connexion. J'ai créé une stratégie d'inscription et effectué une inscription via l'écran d'inscription Azure AD B2C. Dans l'écran d'inscription, j'ai saisi une adresse e-mail et Azure AD B2C a envoyé un e-mail pour validation. Une fois l'inscription réussie, j'essayais d'obtenir les détails de l'utilisateur inscrit via l'API graphique.Impossible de récupérer l'e-mail de l'utilisateur à partir d'Azure AD B2C à l'aide de GraphAPI

URL de l'API graphique utilisé pour récupérer les détails de l'utilisateur:

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

Je suis en mesure d'obtenir toutes les autres informations de nouvel utilisateur comme nom d'utilisateur, prénom, nom, etc ... sauf l'adresse e-mail indiquée par l'utilisateur lors de la validation de l'email.

Veuillez me faire savoir s'il existe un moyen ou une configuration pour obtenir une adresse e-mail via l'API graphique.

+0

Avez-vous vérifié la propriété 'otherMails'? Y avait-il des valeurs là-bas? –

+0

Il s'agit d'un tableau vide. Lorsque je consulte le portail Azure, l'identifiant de l'e-mail est disponible dans le champ E-mail d'autorisation. – Santhanam

Répondre

4

Dans le cas où les utilisateurs se connectent avec la validation du nom d'utilisateur + e-mail, il n'y a aucun moyen de récupérer le courrier électronique utilisé.

Voici tous les cas relatifs aux courriers électroniques dans Azure AD B2C et où ils sont stockés.

  • compte local avec le signe par messagerie électronique: E-mail est disponible via le signInNames propriété
  • compte local avec le signe basé nom d'utilisateur en + vérification email: Email est disponible nulle part.
  • IdPs sociaux via built-in policies: Le courrier électronique, s'il est disponible auprès de l'IdP, est disponible via la propriété otherMails.

Autres considérations:

  • Le courrier électronique utilisé pour la réinitialisation du mot de passe MFA & est disponible nulle part non plus (ce qui est vraiment le même cas que compte local avec le signe basé nom d'utilisateur en + vérification e-mail).
  • Vous pouvez demander à l'utilisateur de saisir son adresse e-mail dans votre sign up policy's "Sign-up attributes". Avec custom policies et les IdP personnalisés, c'est vraiment à vous de décider si vous voulez récupérer l'email, où le récupérer et où vous le stockez.

Vous pouvez toujours demander l'e-mail mis à la disposition pour votre scénario ou tout autre via le demandant Azure AD B2C feedback forum

+0

Un résumé succinct (et ridicule). Je noterai dans le cas où vous utilisez login de nom d'utilisateur localaccount, vous ne semblez pas pouvoir écraser l'email associé (au moins via les propriétés "mail" ou "otherMails" en utilisant Graph - je pourrais essayer de l'ajouter signInNames en dernier recours), ce qui signifie qu'un utilisateur ne pourra jamais utiliser la politique intégrée de réinitialisation du mot de passe, sauf s'il a toujours accès à l'adresse e-mail d'origine avec laquelle il s'est inscrit. – mwardm