Sdílet prostřednictvím


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 itemi .

Příklad AddItemToAlternativeSecurityIdCollection

Následující příklad propojuje novou sociální identitu s existujícím účtem. Propojení nové sociální identity:

  1. V technických profilech vypište AAD-UserReadUsingAlternativeSecurityId AAD-UserReadUsingObjectId deklaraci identity uživatele alternativeSecurityIds .
  2. Požádejte uživatele, aby se přihlásil pomocí jednoho zprostředkovatele identity, kteří nejsou přidruženi k tomuto uživateli.
  3. Pomocí transformace deklarací identity CreateAlternativeSecurityId vytvořte nový typ deklarace identity alternativeSecurityId s názvemAlternativeSecurityId2
  4. Volání AddItemToAlternativeSecurityIdCollection deklarací deklarace identity AddItemToAlternativeSecurityIdCollection pro přidání deklarace Identity AlternativeSecurityId2 do existující deklarace Identity AlternativeSecurityIds.
  5. 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:

  1. V technických profilech vypište AAD-UserReadUsingAlternativeSecurityId AAD-UserReadUsingObjectId deklaraci identity uživatele alternativeSecurityIds .
  2. 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.
  3. 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.
  4. 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.