Transformations de revendications de comptes sociaux
Dans Azure Active Directory B2C (Azure AD B2C), les identités de comptes sociaux sont stockées dans un attribut alternativeSecurityIds
d’un type de revendication alternativeSecurityIdCollection. Chaque élément dans le type de revendication alternativeSecurityIdCollection spécifie l’émetteur (nom du fournisseur d’identité, tel que facebook.com), et l’issuerUserId
, qui est un identificateur d’utilisateur unique pour l’émetteur.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
Cet article fournit des exemples d’utilisation des transformations de revendications de comptes sociaux du schéma Infrastructure d’expérience d’identité dans Azure AD B2C. Pour plus d’informations, voir ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Ajoute un AlternativeSecurityId
à une revendication alternativeSecurityIdCollection
. Découvrez la démonstration en direct de cette transformation de revendication.
Élément | TransformationClaimType | Type de données | Notes |
---|---|---|---|
InputClaim | Élément | string | Revendication à ajouter à la revendication de sortie. |
InputClaim | collection | alternativeSecurityIdCollection | Revendication utilisée par la transformation de revendications si disponible dans la stratégie. Si elle est fournie, la transformation de revendications ajoute l’item à la fin de la collection. |
OutputClaim | collection | alternativeSecurityIdCollection | Revendication générée une fois que cette transformation de revendications a été appelée. Nouvelle collection contenant les éléments des entrées collection et item . |
Exemple de AddItemToAlternativeSecurityIdCollection
L’exemple suivant lie une nouvelle identité sociale à un compte existant. Pour lier une nouvelle identité sociale :
- Dans les profils techniques et
AAD-UserReadUsingObjectId
lesAAD-UserReadUsingAlternativeSecurityId
profils techniques, affichez la revendication dealternativeSecurityIds
l’utilisateur. - Demandez à l’utilisateur à se connecter avec l’un des fournisseurs d’identité qui ne lui sont pas associés.
- À l’aide de la transformation de revendications CreateAlternativeSecurityId, créez un type de revendication alternativeSecurityId nommé
AlternativeSecurityId2
. - Appelez la transformation de revendications AddItemToAlternativeSecurityIdCollection pour ajouter la revendication AlternativeSecurityId2 à la revendication AlternativeSecurityIds existante.
- Conservez la revendication alternativeSecurityIds sur le compte d’utilisateur.
<ClaimsTransformation Id="AddAnotherAlternativeSecurityId" TransformationMethod="AddItemToAlternativeSecurityIdCollection">
<InputClaims>
<InputClaim ClaimTypeReferenceId="AlternativeSecurityId2" TransformationClaimType="item" />
<InputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
</OutputClaims>
</ClaimsTransformation>
Revendications d’entrée :
item :
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
collection :
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Revendications de sortie :
collection :
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Crée une représentation JSON de la propriété alternativeSecurityId de l’utilisateur qui peut être utilisée dans les appels à Microsoft Entra ID. Découvrez la démonstration en direct de cette transformation de revendication. Pour plus d’informations, voir le schéma AlternativeSecurityId.
Élément | TransformationClaimType | Type de données | Notes |
---|---|---|---|
InputClaim | key | string | Revendication spécifiant l’identificateur d’utilisateur unique utilisé par le fournisseur d’identité sociale. |
InputClaim | IdentityProvider | string | Revendication spécifiant le nom du fournisseur d’identité de compte social, par exemple facebook.com. |
OutputClaim | alternativeSecurityId | string | Revendication générée une fois que la transformation de revendications a été appelée. Contient des informations sur l’identité d’un utilisateur de compte social. issuer est la valeur de la revendication identityProvider . issuerUserId est la valeur de la revendication key au format base64. |
Exemple de CreateAlternativeSecurityId
Utilisez cette transformation de revendications pour générer une revendication alternativeSecurityId
. Il est utilisé par tous les profils techniques de fournisseur de réseau social, tels que Facebook-OAUTH
. La transformation de revendications suivante reçoit l’ID de compte de réseau social de l’utilisateur et le nom du fournisseur d’identité. Le résultat de ce profil technique est un format de chaîne JSON qui peut être utilisé dans les services d'annuaire Microsoft Entra.
<ClaimsTransformation Id="CreateAlternativeSecurityId" TransformationMethod="CreateAlternativeSecurityId">
<InputClaims>
<InputClaim ClaimTypeReferenceId="issuerUserId" TransformationClaimType="key" />
<InputClaim ClaimTypeReferenceId="identityProvider" TransformationClaimType="identityProvider" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="alternativeSecurityId" TransformationClaimType="alternativeSecurityId" />
</OutputClaims>
</ClaimsTransformation>
- Revendications d’entrée :
- key: 12334
- identityProvider: Facebook.com
- Revendications de sortie :
- alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Retourne la liste d’émetteurs de la revendication alternativeSecurityIdCollection dans un nouvelle revendication stringCollection. Découvrez la démonstration en direct de cette transformation de revendication.
Élément | TransformationClaimType | Type de données | Notes |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | Revendication à utiliser pour obtenir la liste des fournisseurs d’identité (émetteurs). |
OutputClaim | identityProvidersCollection | stringCollection | Revendication générée une fois que cette transformation de revendications a été appelée. Une liste des fournisseurs d’identité associés à la revendication d’entrée. |
Exemple de GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
La transformation de revendications suivante lit la revendication alternativeSecurityIds de l’utilisateur et extrait la liste des noms de fournisseurs d’identité associés à ce compte. Utilisez la sortie identityProvidersCollection pour monter à l’utilisateur la liste des fournisseurs d’identité associés au compte. Ou bien, dans la page de sélection du fournisseur identité, filtrez la liste des fournisseurs d’identité en fonction de la revendication identityProvidersCollection sortie. L’utilisateur peut ainsi choisir de lier une nouvelle identité sociale qui n’est pas encore associée au compte.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
Revendications d’entrée :
alternativeSecurityIdCollection :
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
Revendications de sortie :
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
Supprime un AlternativeSecurityId d’une revendication alternativeSecurityIdCollection. Découvrez la démonstration en direct de cette transformation de revendication.
Élément | TransformationClaimType | Type de données | Notes |
---|---|---|---|
InputClaim | IdentityProvider | string | Revendication contenant le nom de fournisseur d’identité à retirer de la collection. |
InputClaim | collection | alternativeSecurityIdCollection | Revendication utilisée par la transformation de revendications. La transformation des revendications retire le fournisseur d’identité de la collection. |
OutputClaim | collection | alternativeSecurityIdCollection | Revendication générée une fois que cette transformation de revendications a été appelée. Nouvelle collection, après suppression du fournisseur d’identité de la collection. |
Exemple de RemoveAlternativeSecurityIdByIdentityProvider
L’exemple suivant dissocie l’une des identités sociales d’un compte existant. Pour dissocier une identité sociale :
- Dans les profils techniques et
AAD-UserReadUsingObjectId
lesAAD-UserReadUsingAlternativeSecurityId
profils techniques, affichez la revendication dealternativeSecurityIds
l’utilisateur. - Demandez à l’utilisateur de sélectionner le compte social à retirer de la liste des fournisseurs d’identité qui luis sont associés.
- Appelez un profil technique de transformation de revendications qui appelle la transformation de revendications RemoveAlternativeSecurityIdByIdentityProvider qui a supprimé l’identité sociale sélectionnée, en utilisant le nom du fournisseur d’identité.
- Conservez la revendication alternativeSecurityIds sur le compte d’utilisateur.
<ClaimsTransformation Id="RemoveAlternativeSecurityIdByIdentityProvider" TransformationMethod="RemoveAlternativeSecurityIdByIdentityProvider">
<InputClaims>
<InputClaim ClaimTypeReferenceId="secondIdentityProvider" TransformationClaimType="identityProvider" />
<InputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
- Revendications d’entrée :
- identityProvider: facebook.com
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Revendications de sortie :
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Étapes suivantes
- Vous trouverez d’autres exemples de transformation de revendications dans le dépôt GitHub de la communauté Azure AD B2C