Teilen über


Anspruchstransformationen für Social Media-Konten

In Azure Active Directory B2C (Azure AD B2C) werden Identitäten von Social Media-Konten in einem alternativeSecurityIds-Attribut eines Anspruchstyps alternativeSecurityIdCollection gespeichert. Jedes Element in der alternativeSecurityIdCollection gibt den Aussteller (Name des Identitätsanbieters, z.B. „facebook.com“), und issuerUserId an, eine eindeutige Benutzer-ID für den Aussteller.

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

Dieser Artikel enthält Beispiele für die Verwendung von Anspruchstransformationen für Social Media-Konten des Schemas des Frameworks für die Identitätsfunktion von Azure AD B2C. Weitere Informationen finden Sie unter ClaimsTransformations.

AddItemToAlternativeSecurityIdCollection

Fügt eine AlternativeSecurityId an einen alternativeSecurityIdCollection-Anspruch an. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim Element Zeichenfolge Der Anspruch, der dem Ausgabeanspruch hinzugefügt werden soll.
InputClaim collection alternativeSecurityIdCollection Der Anspruch, der von der Anspruchstransformation verwendet wird, sofern in der Richtlinie vorhanden. Bei einer Angabe fügt die Anspruchstransformation das item am Ende der Sammlung hinzu.
OutputClaim collection alternativeSecurityIdCollection Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Die neue Sammlung, die die Elemente aus der Eingabe-collection und das item enthält.

Beispiel für AddItemToAlternativeSecurityIdCollection

Das folgende Beispiel verknüpft eine neue Social Media-Identität mit einem vorhandenen Konto. So verknüpfen Sie eine neue Social Media-Identität

  1. Geben Sie in den technischen Profilen AAD-UserReadUsingAlternativeSecurityId und AAD-UserReadUsingObjectId den alternativeSecurityIds-Anspruch des Benutzers aus.
  2. Bitten Sie Benutzer*innen, sich mit einem der Identitätsanbieter anzumelden, die nicht mit diesen Benutzer*innen verknüpft sind.
  3. Erstellen Sie mithilfe der Anspruchstransformation CreateAlternativeSecurityId einen neuen alternativeSecurityId-Anspruchstyp mit dem Namen AlternativeSecurityId2.
  4. Rufen Sie die Anspruchstransformation AddItemToAlternativeSecurityIdCollection auf, um den AlternativeSecurityId2-Anspruch dem vorhandenen AlternativeSecurityIds-Anspruch hinzuzufügen.
  5. Behalten Sie den alternativeSecurityIds-Anspruch im Benutzerkonto bei.
<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>
  • Eingabeansprüche:

    • item:

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

      [
          {
              "issuer": "live.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          }
      ]
      
  • Ausgabeansprüche:

    • collection:

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

CreateAlternativeSecurityId

Erstellt eine JSON-Darstellung der alternativeSecurityId-Eigenschaft des Benutzers, die in Aufrufen an Microsoft Entra ID verwendet werden kann. Sehen Sie sich die Livedemo dieser Anspruchstransformation an. Weitere Informationen finden Sie im AlternativeSecurityId-Schema.

Element TransformationClaimType Datentyp Notizen
InputClaim Schlüssel Zeichenfolge Der Anspruch, der die eindeutige Benutzer-ID, die vom Identitätsanbieter eines sozialen Netzwerks verwendet wird, angibt
InputClaim identityProvider Zeichenfolge Der Anspruch, der den Identitätsanbieter eines Social Media-Kontos, z. B. „facebook.com“, angibt
OutputClaim alternativeSecurityId Zeichenfolge Der Anspruch, der erstellt wird, nachdem die Anspruchstransformation aufgerufen wurde. Enthält Informationen zur Identität eines Benutzers mit einem Social Media-Konto. issuer ist der Wert des identityProvider-Anspruchs. issuerUserId ist der Wert des key-Anspruchs im Base64-Format.

Beispiel für CreateAlternativeSecurityId

Verwenden Sie diese Anspruchstransformation zum Generieren eines Anspruchs vom Typ alternativeSecurityId. Sie wird von allen technischen Profilen für Social Media-Identitätsanbieter wie z.B. Facebook-OAUTH verwendet. Die folgende Anspruchstransformation empfängt die ID des Social Media-Kontos des Benutzers und den Namen des Identitätsanbieters. Die Ausgabe dieses technischen Profils ist eine Zeichenfolge im JSON-Format, die in Microsoft Entra ID-Verzeichnisdiensten verwendet werden kann.

<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>
  • Eingabeansprüche:
    • key: 12334
    • identityProvider: Facebook.com
  • Ausgabeansprüche:
    • alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }

GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

Gibt eine Liste mit den Ausstellern aus dem alternativeSecurityIdCollection-Anspruch in einem neuen stringCollection-Anspruch zurück. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim alternativeSecurityIdCollection alternativeSecurityIdCollection Der Anspruch, der zum Abrufen der Liste der Identitätsanbieter (Aussteller) verwendet werden soll
OutputClaim identityProvidersCollection stringCollection Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Eine Liste der Identitätsanbieter, die dem Eingabeanspruch zugeordnet sind

Beispiel für GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

Die folgende Anspruchstransformation liest den alternativeSecurityIds-Anspruch des Benutzers und extrahiert die Liste der Identitätsanbieternamen, die diesem Konto zugeordnet sind. Verwenden Sie die ausgegebene identityProvidersCollection, um dem Benutzer die Liste der Identitätsanbieter, die dem Konto zugeordnet sind, anzuzeigen. Oder filtern Sie auf der Auswahlseite für Identitätsanbieter die Liste der Identitätsanbieter basierend auf dem ausgegebenen identityProvidersCollection-Anspruch. Benutzer*innen können dann eine neue Social-Media-Identität auswählen, die noch nicht mit dem Konto verknüpft ist.

<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:

    • alternativeSecurityIdCollection:

      [
          {
              "issuer": "google.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          },
          {
              "issuer": "facebook.com",
              "issuerUserId": "MTIzNDU="
          }
      ]
      
  • Ausgabeansprüche:

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

RemoveAlternativeSecurityIdByIdentityProvider

Entfernt eine AlternativeSecurityId aus einem alternativeSecurityIdCollection-Anspruch. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim identityProvider Zeichenfolge Der Anspruch mit dem Namen des Identitätsanbieters, der aus der Sammlung entfernt werden soll
InputClaim collection alternativeSecurityIdCollection Der Anspruch, der von der Anspruchstransformation verwendet wird. Die Anspruchstransformation entfernt den identityProvider aus der Sammlung.
OutputClaim collection alternativeSecurityIdCollection Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Die neue Sammlung, nachdem der identityProvider aus der Sammlung entfernt wurde.

Beispiel für RemoveAlternativeSecurityIdByIdentityProvider

Das folgende Beispiel hebt die Verknüpfung einer Social Media-Identität mit einem vorhandenen Konto auf. So heben Sie die Verknüpfung einer Social Media-Identität auf

  1. Geben Sie in den technischen Profilen AAD-UserReadUsingAlternativeSecurityId und AAD-UserReadUsingObjectId den alternativeSecurityIds-Anspruch des Benutzers aus.
  2. Bitten Sie den Benutzer, das Social Media-Konto auszuwählen, das aus der Liste der diesem Benutzer zugeordneten Identitätsanbietern entfernt werden soll.
  3. Rufen Sie ein technisches Profil für eine Anspruchstransformation auf, das die Anspruchstransformation RemoveAlternativeSecurityIdByIdentityProvider aufruft, die die ausgewählte Social Media-Identität anhand des Identitätsanbieternamens entfernt.
  4. Behalten Sie den alternativeSecurityIds-Anspruch im Benutzerkonto bei.
<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>
  • Eingabeansprüche:
    • identityProvider: facebook.com
    • collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
  • Ausgabeansprüche:
    • collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]

Nächste Schritte