Transformace deklarací identit sociálních účtů
V Azure Active Directory B2C (Azure AD B2C) se identity sociálních účtů ukládají v atributu alternativeSecurityIds
typu deklarace identity alternativeSecurityIdCollection . Každá položka v alternativníSecurityIdCollection určuje vystavitele (název zprostředkovatele identity, například facebook.com) a issuerUserId
, což je jedinečný identifikátor uživatele pro vystavitele.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
Tento článek obsahuje příklady použití transformací deklarací identity schématu Identity Experience Framework v Azure AD B2C. Další informace naleznete v tématu ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
AlternativeSecurityId
Přidá k alternativeSecurityIdCollection
deklaraci identity. Podívejte se na živou ukázku této transformace deklarací identity.
Element (Prvek) | TransformationClaimType | Datový typ | Notes |
---|---|---|---|
InputClaim | Element (Prvek) | string | Deklarace identity, která se má přidat do výstupní deklarace identity. |
InputClaim | – kolekce | alternativeSecurityIdCollection | Deklarace identity, která je používána transformací deklarací identity, pokud je k dispozici v zásadách. Pokud je k dispozici, transformace deklarací identity přidá item na konec kolekce. |
OutputClaim | – kolekce | alternativeSecurityIdCollection | Deklarace identity, která se vytvoří po vyvolání této transformace deklarací. Nová kolekce, která obsahuje jak položky ze vstupu collection , tak item i . |
Příklad AddItemToAlternativeSecurityIdCollection
Následující příklad propojuje novou sociální identitu s existujícím účtem. Propojení nové sociální identity:
- V technických profilech vypište
AAD-UserReadUsingAlternativeSecurityId
AAD-UserReadUsingObjectId
deklaraci identity uživatelealternativeSecurityIds
. - Požádejte uživatele, aby se přihlásil pomocí jednoho zprostředkovatele identity, kteří nejsou přidruženi k tomuto uživateli.
- Pomocí transformace deklarací identity CreateAlternativeSecurityId vytvořte nový typ deklarace identity alternativeSecurityId s názvem
AlternativeSecurityId2
- Volání AddItemToAlternativeSecurityIdCollection deklarací deklarace identity AddItemToAlternativeSecurityIdCollection pro přidání deklarace Identity AlternativeSecurityId2 do existující deklarace Identity AlternativeSecurityIds.
- Zachování deklarace identity alternativeSecurityIds pro uživatelský účet
<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>
Vstupní deklarace identity:
položka:
{ "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" }
kolekce:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Výstupní deklarace identity:
kolekce:
[ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
CreateAlternativeSecurityId
Vytvoří reprezentaci JSON alternativníSecurityId vlastnosti uživatele, kterou lze použít ve voláních Microsoft Entra ID. Podívejte se na živou ukázku této transformace deklarací identity. Další informace najdete ve schématu AlternativeSecurityId .
Element (Prvek) | TransformationClaimType | Datový typ | Notes |
---|---|---|---|
InputClaim | klíč | string | Deklarace identity, která určuje jedinečný identifikátor uživatele používaný zprostředkovatelem sociální identity. |
InputClaim | identityProvider | string | Deklarace identity, která určuje název zprostředkovatele identity sociálních účtů, například facebook.com. |
OutputClaim | alternativeSecurityId | string | Deklarace identity, která se vytvoří po vyvolání transformace deklarací. Obsahuje informace o identitě uživatele sociálních účtů. Vystavitel je hodnota identityProvider deklarace identity. IssuerUserId je hodnota key deklarace identity ve formátu base64. |
Příklad CreateAlternativeSecurityId
Tuto transformaci deklarací identity použijte k vygenerování alternativeSecurityId
deklarace identity. Používá se ve všech technických profilech zprostředkovatele sociálních identit, například Facebook-OAUTH
. Následující transformace deklarací identity obdrží ID uživatelského účtu sociální sítě a název zprostředkovatele identity. Výstupem tohoto technického profilu je formát řetězce JSON, který lze použít v adresářových službách 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>
- Vstupní deklarace identity:
- klíč: 12334
- identityProvider: Facebook.com
- Výstupní deklarace identity:
- alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Vrátí seznam vystavitelů z deklarace identity alternativeSecurityIdCollection do nové deklarace identity stringCollection . Podívejte se na živou ukázku této transformace deklarací identity.
Element (Prvek) | TransformationClaimType | Datový typ | Notes |
---|---|---|---|
InputClaim | alternativeSecurityIdCollection | alternativeSecurityIdCollection | Deklarace identity, která se má použít k získání seznamu zprostředkovatelů identity (vystavitele). |
OutputClaim | identityProvidersCollection | stringCollection | Deklarace identity, která se vytvoří po vyvolání této transformace deklarací. Seznam zprostředkovatelů identity přidružených ke vstupní deklaraci identity. |
Příklad GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Následující transformace deklarací identity přečte deklaraci identity alternativeSecurityIds a extrahuje seznam názvů zprostředkovatelů identity přidružených k tomuto účtu. Pomocí výstupní identityProvidersCollection zobrazte uživatele seznam zprostředkovatelů identity přidružených k účtu. Nebo na stránce výběru zprostředkovatele identity vyfiltrujte seznam zprostředkovatelů identity na základě výstupní deklarace identityProvidersCollection . Uživatel tedy může vybrat propojení nové sociální identity, která ještě není přidružená k účtu.
<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
</OutputClaims>
</ClaimsTransformation>
Vstupní deklarace identity:
alternativeSecurityIdCollection:
[ { "issuer": "google.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
Výstupní deklarace identity:
- identityProvidersCollection: [ "facebook.com", "google.com" ]
RemoveAlternativeSecurityIdByIdentityProvider
Odebere AlternativníSecurityId z deklarace identity alternativeSecurityIdCollection . Podívejte se na živou ukázku této transformace deklarací identity.
Element (Prvek) | TransformationClaimType | Datový typ | Notes |
---|---|---|---|
InputClaim | identityProvider | string | Deklarace identity, která obsahuje název zprostředkovatele identity, který se má z kolekce odebrat. |
InputClaim | – kolekce | alternativeSecurityIdCollection | Deklarace identity, kterou používá transformace deklarací identity. Transformace deklarací identity odebere z kolekce objekt identityProvider. |
OutputClaim | – kolekce | alternativeSecurityIdCollection | Deklarace identity, která se vytvoří po vyvolání této transformace deklarací. Nová kolekce po odebrání z kolekce z objektu identityProvider. |
Příklad RemoveAlternativeSecurityIdByIdentityProvider
Následující příklad zruší propojení jedné ze sociálních identit s existujícím účtem. Zrušení propojení sociální identity:
- V technických profilech vypište
AAD-UserReadUsingAlternativeSecurityId
AAD-UserReadUsingObjectId
deklaraci identity uživatelealternativeSecurityIds
. - Požádejte uživatele, aby vybral účet sociální sítě, který chcete odebrat ze zprostředkovatelů identity seznamu přidružených k tomuto uživateli.
- Volání technického profilu transformace deklarací identity, který volá transformaci deklarací identity RemoveAlternativeSecurityIdByIdentityProvider , která odebrala vybranou sociální identitu pomocí názvu zprostředkovatele identity.
- Zachovat deklaraci identity alternativeSecurityIds pro uživatelský účet.
<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>
- Vstupní deklarace identity:
- identityProvider: facebook.com
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDDgyOTI3MDDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ] ]
- Výstupní deklarace identity:
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDGyOTI3MDDUyNTYzMjcw" } ]
Další kroky
- Další ukázky transformace deklarací identity najdete v úložišti GitHub komunity Azure AD B2C.