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 konta społecznościowego 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="
  }]

Ten artykuł zawiera przykłady użycia przekształceń oświadczeń kont społecznościowych schematu struktury środowiska tożsamości w usłudze Azure AD B2C. Aby uzyskać więcej informacji, zobacz ClaimsTransformations.

AddItemToAlternativeSecurityIdCollection

Dodaje element AlternativeSecurityId do alternativeSecurityIdCollection oświadczenia. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim Element string 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 item element na końcu kolekcji.
OutputClaim — kolekcja alternativeSecurityIdCollection Oświadczenie, które zostało wygenerowane 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 polecenia AddItemToAlternativeSecurityIdCollection

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

  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 nazwieAlternativeSecurityId2
  4. Wywołaj przekształcenie oświadczeń AddItemToAlternativeSecurityIdCollection , aby dodać oświadczenie AlternativeSecurityId2 do istniejącego oświadczenia AlternativeSecurityIds .
  5. Utrwalanie oświadczenia alternativeSecurityIds 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 Entra firmy Microsoft. Zapoznaj się z pokazem live tej transformacji oświadczeń. Aby uzyskać więcej informacji, zobacz schemat AlternativeSecurityId .

Element TransformationClaimType Typ danych Uwagi
InputClaim klucz string Oświadczenie określające unikatowy identyfikator użytkownika używany przez dostawcę tożsamości społecznościowych.
InputClaim identityProvider string Oświadczenie określające nazwę dostawcy tożsamości konta społecznościowego, takie jak facebook.com.
OutputClaim alternativeSecurityId string Oświadczenie, które zostało wygenerowane 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 elementu 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 Firmy 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 oświadczenia alternativeSecurityIdCollection do nowego oświadczenia stringCollection. Zapoznaj się z pokazem live 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 zostało wygenerowane 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 użytkownikaSecurityIds i wyodrębnia listę nazw dostawców tożsamości skojarzonych z tym kontem. Użyj wartości output identityProvidersCollection , aby wyświetlić użytkownikowi listę dostawców tożsamości skojarzonych z kontem. Możesz też odfiltrować listę dostawców tożsamości na stronie wyboru dostawcy tożsamości na podstawie danych wyjściowych oświadczenia identityProvidersCollection . W związku z tym użytkownik może wybrać połączenie 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 string Oświadczenie zawierające nazwę dostawcy tożsamości do usunięcia z kolekcji.
InputClaim — kolekcja alternativeSecurityIdCollection Oświadczenie używane przez przekształcenie oświadczeń. Przekształcenie oświadczeń usuwa element identityProvider z kolekcji.
OutputClaim — kolekcja alternativeSecurityIdCollection Oświadczenie, które zostało wygenerowane po wywołaniu tego przekształcenia 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. W profilach AAD-UserReadUsingAlternativeSecurityId technicznych i AAD-UserReadUsingObjectId wyprowadź oświadczenie użytkownika alternativeSecurityIds .
  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. Utrąć oświadczenie 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
    • kolekcja: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
  • Oświadczenia wyjściowe:
    • kolekcja: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]

Następne kroki

  • Znajdź więcej przykładów przekształcania oświadczeń w repozytorium GitHub społeczności usługi Azure AD B2C