2017-10-06 2 views
1

J'ai créé des stratégies personnalisées pour les comptes sociaux et locaux en me basant sur l'exemple du Active Directory B2C custom policy starter pack pour les comptes sociaux et locaux. J'ai activé la connexion avec Microsoft et Google et testé que les deux fonctionnent, j'ai également activé la connexion avec un compte local.Azure AD B2C Ajouter des revendications à id_token dans la stratégie personnalisée

Quand je log in with google je reçois les revendications suivantes

exp, FBN, ver, iss, sous, aud, acr, nonce, IAT, auth_time, email, given_name, FAMILY_NAME, nom, idp, at_hash

Lorsque je me connecte à un custom Azure AD tenant l'ensemble des revendications manque 'email', mais l'e-mail est listé dans la demande 'nom'

exp, FBN, ver, iss, sous, aud, acr, nonce, iat, auth_time, étant donné _name, FAMILY_NAME, nom, idp, at_hash

Lorsque je me connecte comme un compte local l'ensemble des revendications manque « email » et il n'y a pas e-mail figurant dans l'un des champs.

exp, FBN, ver, iss, sous, aud, acr, nonce, IAT, auth_time, given_name, FAMILY_NAME, nom, at_hash

Enfin, quand je regarde la liste des utilisateurs l'administrateur B2C, ce sont toutes des entrées d'utilisateur différentes ... même si l'adresse e-mail est la même. J'ai donc 2 questions,

  1. Comment puis-je obtenir un ensemble cohérent des revendications dans le id_token
  2. Comment lier tous ces comptes ainsi que lors de l'inscription (même UPN)

Je crois ceux-ci peuvent être liés, c'est pourquoi je leur demande ensemble. Vous voulez probablement voir les politiques, mais je vous assure qu'ils sont exactement les mêmes que les politiques dans le pack de démarrage, tout ce que j'ai fait est de changer les noms des locataires et ajouté google et azure dans le fichier d'extensions.

+1

il y a une demande de fonctionnalité pour fusionner tous les emails sous un seul compte https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/13214529-azure-ad-b2c-how-to -avoid-validate-duplicate-s Upvote il y – Ramakrishna

Répondre

2

Pour l'Azure demande de courrier électronique AD, ajoutez ce qui suit <OutputClaim /> au OpenID Azure AD Connect profil technique:

<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="unique_name" /> 

Pour le compte local demande de courrier électronique, ajoutez le <OutputClaim /> suivant au profil technique AAD-UserReadUsingObjectId:

<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" /> 
+0

Je n'arrive pas à trouver l'emplacement pour mettre la revendication de sortie pour Azure AD OpenId Connect? Il y a beaucoup de profils techniques sous le fournisseur de revendications Azure Active Directory dans le fichier trustframeworkbase.xml? –

+0

changer en dans le fichier trustframeworkbase.xml fonctionne pour la réclamation par e-mail du compte local. Voici le fichier à titre de référence: https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/blob/master/SocialAndLocalAccounts/TrustFrameworkBase.xml # L725 –

+0

Pouvez-vous clarifier ce que vous voulez dire par "Lorsque je me connecte à un locataire Azure AD personnalisé"? Êtes-vous en train de fédérer l'authentification avec un autre client Azure AD? –