Udostępnij za pośrednictwem


Przekształcenia roszczeń kont społecznościowych

W usłudze Azure Active Directory B2C (Azure AD B2C) tożsamości kont społecznościowych są przechowywane w alternativeSecurityIds atrybucie alternatywnego typu oświadczeniaSecurityIdCollection. Każdy element w alternatywieSecurityIdCollection określa wystawcę (nazwę dostawcy tożsamości, taką jak facebook.com) i issuerUserId, który jest unikatowym identyfikatorem użytkownika wystawcy.

"alternativeSecurityIds": [{
    "issuer": "google.com",
    "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
  },
  {
    "issuer": "facebook.com",
    "issuerUserId": "MTIzNDU="
  }]

W tym artykule przedstawiono przykłady użycia przekształceń oświadczeń kont społecznościowych schematu struktury obsługi tożsamości w Azure AD B2C. Aby uzyskać więcej informacji, zobacz ClaimsTransformations.

AddItemToAlternativeSecurityIdCollection

Dodaje element AlternativeSecurityIdalternativeSecurityIdCollection do oświadczenia. Zapoznaj się z pokazem na żywo tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim Element ciąg Oświadczenie, które ma zostać dodane do oświadczenia wyjściowego.
InputClaim — kolekcja alternativeSecurityIdCollection Oświadczenie, które jest używane przez przekształcenie oświadczeń, jeśli jest dostępne w zasadach. Jeśli zostanie podana, przekształcenie oświadczeń dodaje element item na końcu kolekcji.
OutputClaim — kolekcja alternativeSecurityIdCollection Oświadczenie, które jest tworzone po wywołaniu tego przekształcenia oświadczeń. Nowa kolekcja zawierająca zarówno elementy z danych wejściowych collection , jak i item.

Przykład addItemToAlternativeSecurityIdCollection

Poniższy przykład łączy nową tożsamość społecznościową z istniejącym kontem. Aby połączyć nową tożsamość społecznościową:

  1. W profilach AAD-UserReadUsingAlternativeSecurityId technicznych i AAD-UserReadUsingObjectId wyprowadź oświadczenie użytkownika alternativeSecurityIds .
  2. Poproś użytkownika o zalogowanie się przy użyciu jednego z dostawców tożsamości, którzy nie są skojarzeni z tym użytkownikiem.
  3. Korzystając z przekształcenia oświadczeń CreateAlternativeSecurityId , utwórz nowy typ oświadczenia alternativeSecurityId o nazwie AlternativeSecurityId2
  4. Wywołaj przekształcenie oświadczeń AddItemToAlternativeSecurityIdCollection , aby dodać oświadczenie AlternativeSecurityId2 do istniejącego oświadczenia AlternativeSecurityIds .
  5. Utrwalanie alternatywnego oświadczeniaSecurityIds na koncie użytkownika
<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>
  • Oświadczenia wejściowe:

    • element:

      {
          "issuer": "facebook.com",
          "issuerUserId": "MTIzNDU="
      }
      
    • kolekcja:

      [
          {
              "issuer": "live.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          }
      ]
      
  • Oświadczenia wyjściowe:

    • kolekcja:

      [
          {
              "issuer": "live.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          },
          {
              "issuer": "facebook.com",
              "issuerUserId": "MTIzNDU="
          }
      ]
      

CreateAlternativeSecurityId

Tworzy reprezentację JSON alternatywnej właściwościSecurityId użytkownika, która może być używana w wywołaniach do identyfikatora Microsoft Entra. Zapoznaj się z pokazem na żywo tej transformacji oświadczeń. Aby uzyskać więcej informacji, zobacz schemat AlternativeSecurityId .

Element TransformationClaimType Typ danych Uwagi
InputClaim key ciąg Oświadczenie określające unikatowy identyfikator użytkownika używany przez dostawcę tożsamości społecznościowych.
InputClaim identityProvider ciąg Oświadczenie określające nazwę dostawcy tożsamości konta społecznościowego, takie jak facebook.com.
OutputClaim alternativeSecurityId ciąg Oświadczenie, które jest tworzone po wywołaniu przekształcenia oświadczeń. Zawiera informacje o tożsamości użytkownika konta społecznościowego. Wystawca jest wartością identityProvider oświadczenia. IssuerUserId jest wartością key oświadczenia w formacie base64.

Przykład createAlternativeSecurityId

Użyj tej transformacji oświadczeń, aby wygenerować alternativeSecurityId oświadczenie. Jest on używany przez wszystkie profile techniczne dostawcy tożsamości społecznościowych, takie jak Facebook-OAUTH. Następujące przekształcenie oświadczeń odbiera identyfikator konta społecznościowego użytkownika i nazwę dostawcy tożsamości. Dane wyjściowe tego profilu technicznego to format ciągu JSON, który może być używany w usługach katalogowych 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>
  • Oświadczenia wejściowe:
    • klucz: 12334
    • identityProvider: Facebook.com
  • Oświadczenia wyjściowe:
    • alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}

GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

Zwraca listę wystawców z alternatywnego oświadczeniaSecurityIdCollection do nowego oświadczenia stringCollection . Zapoznaj się z pokazem na żywo tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim alternativeSecurityIdCollection alternativeSecurityIdCollection Oświadczenie, które ma zostać użyte do pobrania listy dostawców tożsamości (wystawcy).
OutputClaim identityProvidersCollection Stringcollection Oświadczenie, które jest tworzone po wywołaniu tego przekształcenia oświadczeń. Lista dostawców tożsamości skojarzonych z oświadczeniem wejściowym.

Przykład getIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

Następujące przekształcenie oświadczeń odczytuje alternatywne oświadczenie userSecurityIds i wyodrębnia listę nazw dostawców tożsamości skojarzonych z tym kontem. Użyj elementu output identityProvidersCollection , aby wyświetlić użytkownikowi listę dostawców tożsamości skojarzonych z kontem. Lub na stronie wyboru dostawcy tożsamości odfiltruj listę dostawców tożsamości na podstawie danych wyjściowych oświadczenia identityProvidersCollection . W związku z tym użytkownik może wybrać opcję połączenia nowej tożsamości społecznościowej, która nie jest jeszcze skojarzona z kontem.

<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
  </OutputClaims>
</ClaimsTransformation>
  • Oświadczenia wejściowe:

    • alternativeSecurityIdCollection:

      [
          {
              "issuer": "google.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          },
          {
              "issuer": "facebook.com",
              "issuerUserId": "MTIzNDU="
          }
      ]
      
  • Oświadczenia wyjściowe:

    • identityProvidersCollection: [ "facebook.com", "google.com" ]

RemoveAlternativeSecurityIdByIdentityProvider

Usuwa identyfikator AlternativeSecurityId z alternatywnego oświadczeniaSecurityIdCollection . Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim identityProvider ciąg Oświadczenie zawierające nazwę dostawcy tożsamości, które ma zostać usunięte z kolekcji.
InputClaim — kolekcja alternativeSecurityIdCollection Oświadczenie, które jest używane przez przekształcenie oświadczeń. Przekształcenie oświadczeń usuwa element identityProvider z kolekcji.
OutputClaim — kolekcja alternativeSecurityIdCollection Oświadczenie, które jest generowane po wywołaniu tej transformacji oświadczeń. Nowa kolekcja po usunięciu elementu identityProvider z kolekcji.

Przykład removeAlternativeSecurityIdByIdentityProvider

Poniższy przykład odłącza jedną z tożsamości społecznościowych przy użyciu istniejącego konta. Aby odłączyć tożsamość społeczną:

  1. AAD-UserReadUsingAlternativeSecurityId W profilach technicznych i AAD-UserReadUsingObjectId wprowadź oświadczenie użytkownikaalternativeSecurityIds.
  2. Poproś użytkownika o wybranie konta społecznościowego do usunięcia z listy dostawców tożsamości skojarzonych z tym użytkownikiem.
  3. Wywołaj profil techniczny przekształcania oświadczeń, który wywołuje przekształcenie oświadczeń RemoveAlternativeSecurityIdByIdentityProvider , które usunęło wybraną tożsamość społeczną przy użyciu nazwy dostawcy tożsamości.
  4. Utrwalanie oświadczenia alternativeSecurityIds na koncie użytkownika.
<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>
  • Oświadczenia wejściowe:
    • identityProvider: facebook.com
    • collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
  • Oświadczenia wyjściowe:
    • collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]

Następne kroki