Sociala konton gör anspråk på omvandlingar
I Azure Active Directory B2C (Azure AD B2C) lagras identiteter för sociala konton i ett alternativeSecurityIds
attribut av anspråkstypen alternativeSecurityIdCollection. Varje objekt i alternativeSecurityIdCollection anger utfärdaren (identitetsproviderns namn, till exempel facebook.com) och issuerUserId
, som är en unik användaridentifierare för utfärdaren.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
Den här artikeln innehåller exempel på hur du använder anspråkstransformeringar för det sociala kontot av schemat Identity Experience Framework i Azure AD B2C. Mer information finns i ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Lägger till en AlternativeSecurityId
i ett alternativeSecurityIdCollection
anspråk. Titta på livedemon för den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentarer |
---|---|---|---|
InputClaim | Element | sträng | Anspråket som ska läggas till i utdataanspråket. |
InputClaim | samling | alternativeSecurityIdCollection | Anspråket som används av anspråkstransformeringen om det är tillgängligt i principen. Om detta anges lägger anspråkstransformeringen item till i slutet av samlingen. |
OutputClaim | samling | alternativeSecurityIdCollection | Anspråket som skapas efter den här anspråkstransformeringen har anropats. Den nya samlingen som innehåller både objekten från indata collection och item . |
Exempel på AddItemToAlternativeSecurityIdCollection
I följande exempel länkas en ny social identitet med ett befintligt konto. Så här länkar du en ny social identitet:
- I de
AAD-UserReadUsingAlternativeSecurityId
tekniska profilerna ochAAD-UserReadUsingObjectId
matar du ut användarensalternativeSecurityIds
anspråk. - Be användaren att logga in med en av identitetsprovidrar som inte är associerade med den här användaren.
- Med hjälp av anspråkstransformeringen CreateAlternativeSecurityId skapar du en ny alternativSecurityId-anspråkstyp med namnet
AlternativeSecurityId2
- Anropa anspråkstransformeringen AddItemToAlternativeSecurityIdCollection för att lägga till AlternativeSecurityId2-anspråket i det befintliga AlternativeSecurityIds-anspråket .
- Spara anspråket alternativeSecurityIds på användarkontot
<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>
Indataanspråk:
objekt:
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
samling:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Utdataanspråk:
samling:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Skapar en JSON-representation av användarens alternativeSecurityId-egenskap som kan användas i anropen till Microsoft Entra ID. Titta på livedemon för den här anspråkstransformeringen. Mer information finns i schemat AlternativeSecurityId .
Element | TransformationClaimType | Datatyp | Kommentarer |
---|---|---|---|
InputClaim | key | sträng | Anspråket som anger den unika användaridentifierare som används av den sociala identitetsprovidern. |
InputClaim | identityProvider | sträng | Anspråket som anger namnet på identitetsprovidern för det sociala kontot, till exempel facebook.com. |
OutputClaim | alternativeSecurityId | sträng | Anspråket som skapas efter anspråkstransformeringen har anropats. Innehåller information om identiteten för en användare av ett socialt konto. Utfärdaren är anspråkets identityProvider värde. IssuerUserId är värdet för anspråket key i base64-format. |
Exempel på CreateAlternativeSecurityId
Använd den här anspråkstransformeringen för att generera ett alternativeSecurityId
anspråk. Den används av alla tekniska profiler för social identitetsprovider, till exempel Facebook-OAUTH
. Följande anspråkstransformering tar emot användarnamnet för det sociala kontot och identitetsproviderns namn. Utdata från den här tekniska profilen är ett JSON-strängformat som kan användas i Microsoft Entra katalogtjänster.
<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>
- Indataanspråk:
- nyckel: 12334
- identityProvider: Facebook.com
- Utdataanspråk:
- alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Returnerar en lista över utfärdare från anspråket alternativeSecurityIdCollection till ett nytt stringCollection-anspråk . Titta på livedemon för den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentarer |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | Anspråket som ska användas för att hämta listan över identitetsprovidrar (utfärdare). |
OutputClaim | identityProvidersCollection | stringCollection | Anspråket som skapas efter den här anspråkstransformeringen har anropats. En lista över identitetsprovidrar som är associerade med indataanspråket. |
Exempel på GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Följande anspråkstransformering läser anspråket user alternativeSecurityIds och extraherar listan över identitetsprovidernamn som är associerade med det kontot. Använd utdataidentitetProvidersCollection för att visa användaren listan över identitetsprovidrar som är associerade med kontot. Eller filtrera listan över identitetsprovidrar baserat på utdataidentitetProvidersCollection-anspråk på sidan för val av identitetsprovider. Användaren kan därför välja att länka en ny social identitet som inte redan är associerad med kontot.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
Indataanspråk:
alternativeSecurityIdCollection:
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
Utdataanspråk:
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
Tar bort ett AlternativeSecurityId från ett alternativeSecurityIdCollection-anspråk . Ta en titt på livedemon för den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentarer |
---|---|---|---|
InputClaim | identityProvider | sträng | Anspråket som innehåller identitetsproviderns namn som ska tas bort från samlingen. |
InputClaim | samling | alternativeSecurityIdCollection | Anspråket som används av anspråkstransformeringen. Anspråkstransformationen tar bort identitetprovidern från samlingen. |
OutputClaim | samling | alternativeSecurityIdCollection | Anspråket som skapas efter denna anspråkstransformering har anropats. Den nya samlingen, efter att identityProvider tagits bort från samlingen. |
Exempel på RemoveAlternativeSecurityIdByIdentityProvider
I följande exempel avlänkas en av de sociala identiteterna med ett befintligt konto. Så här avlänkar du en social identitet:
- I de
AAD-UserReadUsingAlternativeSecurityId
tekniska profilerna ochAAD-UserReadUsingObjectId
matar du ut användarensalternativeSecurityIds
anspråk. - Be användaren att välja vilket socialt konto som ska tas bort från listan med identitetsprovidrar som är associerade med den här användaren.
- Anropa en teknisk profil för anspråksomvandling som anropar anspråksomvandlingen RemoveAlternativeSecurityIdByIdentityProvider , som tog bort den valda sociala identiteten med identitetsproviderns namn.
- Spara alternativeSecurityIds-anspråket på användarkontot.
<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>
- Inkommande anspråk:
- identityProvider: facebook.com
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Utgående anspråk:
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Nästa steg
- Hitta fler exempel på anspråkstransformering på GitHub-lagringsplatsen för Azure AD B2C-community