Transformace deklarací identity účtů na sociálních sítích
V Azure Active Directory B2C (Azure AD B2C) se identity sociálních účtů ukládají v alternativeSecurityIds
atributu typu deklarace identity alternativeSecurityIdCollection. Každá položka v alternativeSecurityIdCollection určuje vystavitele (název zprostředkovatele identity, například facebook.com) a issuerUserId
, což je jedinečný identifikátor uživatele vystavitele.
"alternativeSecurityIds": [{
"issuer": "google.com",
"issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
},
{
"issuer": "facebook.com",
"issuerUserId": "MTIzNDU="
}]
Tento článek obsahuje příklady použití transformací deklarací identity účtu na sociálních sítích schématu rozhraní Identity Experience Framework v Azure AD B2C. Další informace najdete v tématu ClaimsTransformations.
AddItemToAlternativeSecurityIdCollection
Přidá do AlternativeSecurityId
alternativeSecurityIdCollection
deklarace identity. Podívejte se na živou ukázku této transformace deklarací identity.
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
InputClaim | Prvek | řetězec | Deklarace identity, která se má přidat do výstupní deklarace identity. |
InputClaim | – kolekce | alternativeSecurityIdCollection | Deklarace identity, kterou používá transformace 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 této transformaci deklarací identity, byla vyvolána. Nová kolekce, která obsahuje položky ze vstupu collection i item . |
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
AAD-UserReadUsingAlternativeSecurityId
aAAD-UserReadUsingObjectId
vypište deklaraci identity uživatelealternativeSecurityIds
. - Požádejte uživatele, aby se přihlásil pomocí některého ze zprostředkovatelů identity, který není přidružený k tomuto uživateli.
- Pomocí transformace deklarací identity CreateAlternativeSecurityId vytvořte nový typ deklarace identity alternativeSecurityId s názvem
AlternativeSecurityId2
- Voláním transformace deklarací identity AddItemToAlternativeSecurityIdCollection přidejte deklaraci identity AlternativeSecurityId2 do existující deklarace identity AlternativeSecurityIds .
- Zachování deklarace identity alternativeSecurityIds v uživatelském účtu
<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 vlastnosti alternativeSecurityId uživatele, kterou lze použít ve volání Microsoft Entra ID. Podívejte se na živou ukázku této transformace deklarací identity. Další informace najdete ve schématu AlternativeSecurityId .
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
InputClaim | key | řetězec | Deklarace identity, která určuje jedinečný identifikátor uživatele používaný zprostředkovatelem sociální identity. |
InputClaim | identityProvider | řetězec | Deklarace identity, která určuje název zprostředkovatele identity účtu sociální sítě, například facebook.com. |
OutputClaim | alternativeSecurityId | řetězec | Deklarace identity, která se vytvoří po vyvolání transformace deklarací identity. Obsahuje informace o identitě uživatele účtu na sociální sítě.
Vystavitel je hodnota identityProvider deklarace identity.
IssuerUserId je hodnota key deklarace identity ve formátu base64. |
Příklad CreateAlternativeSecurityId
Pomocí této transformace deklarací identity můžete vygenerovat alternativeSecurityId
deklaraci identity. Používají ho všechny technické profily zprostředkovatele sociální identity, například Facebook-OAUTH
. Následující transformace deklarací identity obdrží ID uživatelského účtu na sociální síti 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.
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
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 této transformaci deklarací identity, byla vyvolána. Seznam zprostředkovatelů identit přidružených ke vstupní deklaraci identity. |
Příklad GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation
Následující transformace deklarací identity načte deklaraci identity identity alternativeSecurityIds a extrahuje seznam názvů zprostředkovatelů identit přidružených k tomuto účtu. Pomocí výstupní identityProvidersCollection zobrazíte uživateli seznam zprostředkovatelů identit přidružených k účtu. Nebo na stránce výběru zprostředkovatele identity vyfiltrujte seznam zprostředkovatelů identit na základě deklarace identity output identityProvidersCollection . Uživatel tak 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.
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
InputClaim | identityProvider | řetězec | Deklarace identity obsahující 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 identityProvider z kolekce. |
OutputClaim | – kolekce | alternativeSecurityIdCollection | Deklarace identity, která se vytvoří po této transformaci deklarací identity, byla vyvolána. Nová kolekce po odebrání identityProvider z kolekce. |
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
AAD-UserReadUsingAlternativeSecurityId
aAAD-UserReadUsingObjectId
vypište deklaraci identity uživatelealternativeSecurityIds
. - Požádejte uživatele, aby vybral, který sociální účet se má odebrat ze seznamu zprostředkovatelů identity přidružených k tomuto uživateli.
- Zavolejte technický profil transformace deklarací identity, který volá transformaci deklarací identity RemoveAlternativeSecurityIdByIdentityProvider , která odebrala vybranou sociální identitu, pomocí názvu zprostředkovatele identity.
- U uživatelského účtu zachovají deklaraci identity alternativeSecurityIds .
<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": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
- Výstupní deklarace identity:
- collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]
Další kroky
- Další ukázky transformace deklarací identity najdete v úložišti GitHubu komunity Azure AD B2C.