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 AlternativeSecurityIdalternativeSecurityIdCollection 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:

  1. V technických profilech AAD-UserReadUsingAlternativeSecurityId a AAD-UserReadUsingObjectId vypište deklaraci identity uživatele alternativeSecurityIds .
  2. 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.
  3. Pomocí transformace deklarací identity CreateAlternativeSecurityId vytvořte nový typ deklarace identity alternativeSecurityId s názvem AlternativeSecurityId2
  4. Voláním transformace deklarací identity AddItemToAlternativeSecurityIdCollection přidejte deklaraci identity AlternativeSecurityId2 do existující deklarace identity AlternativeSecurityIds .
  5. 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:

  1. V technických profilech AAD-UserReadUsingAlternativeSecurityId a AAD-UserReadUsingObjectId vypište deklaraci identity uživatele alternativeSecurityIds .
  2. 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.
  3. Zavolejte technický profil transformace deklarací identity, který volá transformaci deklarací identity RemoveAlternativeSecurityIdByIdentityProvider , která odebrala vybranou sociální identitu, pomocí názvu zprostředkovatele identity.
  4. 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