Freigeben über


Transformationen allgemeiner Ansprüche

Dieser Artikel enthält Beispiele für die Verwendung von allgemeiner Anspruchstransformationen der benutzerdefinierten Richtlinien für das Azure Active Directory B2C (Azure AD B2C). Weitere Informationen finden Sie unter Anspruchstransformationen.

CopyClaim

Kopiert den Wert eines Anspruchs in einen anderen. Beide Ansprüche müssen denselben Typ aufweisen. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputClaim String, Int Dies ist der Anspruchstyp, der kopiert werden soll
OutputClaim outputClaim String, Int Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde.

Verwenden Sie diese Anspruchstransformation, um einen Wert von einer Zeichenfolge oder einem numerischen Anspruch in einen anderen Anspruch zu kopieren. Im folgenden Beispiel wird der Wert des externalEmail-Anspruchs in einen email-Anspruch kopiert.

<ClaimsTransformation Id="CopyEmailAddress" TransformationMethod="CopyClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="externalEmail" TransformationClaimType="inputClaim"/>
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

Ein Beispiel für CopyClaim

  • Eingabeansprüche:
    • inputClaim: bob@contoso.com
  • Ausgabeansprüche:
    • outputClaim: bob@contoso.com

DoesClaimExist

Überprüft, ob der Eingabeanspruch vorhanden ist, und legt den Ausgabeanspruch entsprechend auf true oder false fest. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputClaim Any Der Eingabeanspruch, dessen Vorhandensein überprüft werden muss.
OutputClaim outputClaim boolean Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde.

Ein Beispiel für DoesClaimExist

Mithilfe dieser Anspruchstransformation können Sie überprüfen, ob ein Anspruch vorhanden ist oder einen beliebigen Wert enthält. Der Rückgabewert ist ein boolescher Wert, der angibt, ob der Anspruch vorhanden ist. Im folgenden Beispiel wird geprüft, ob die E-Mail-Adresse vorhanden ist.

<ClaimsTransformation Id="CheckIfEmailPresent" TransformationMethod="DoesClaimExist">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="isEmailPresent" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:
    • inputClaim: someone@contoso.com
  • Ausgabeansprüche:
    • outputClaim: true

Hash

Hash des angegebenen Nur-Texts, der Salt und einen geheimen Schlüssel verwendet. Der verwendete Hashalgorithmus lautet SHA-256. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim plaintext Zeichenfolge Der zu verschlüsselnde Eingabeanspruch
InputClaim Salt Zeichenfolge Der Salt-Parameter. Sie können mit der CreateRandomString-Anspruchstransformation einen Zufallswert erstellen.
InputParameter randomizerSecret Zeichenfolge Verweist auf einen vorhandenen Azure AD B2C-Richtlinienschlüssel. Gehen Sie wie folgt vor, um einen neuen Richtlinienschlüssel zu erstellen: Wählen Sie in Ihrem Azure AD B2C-Mandanten unter Verwalten die Option Identity Experience Framework aus. Wählen Sie Richtlinienschlüssel aus, um die in Ihrem Mandanten verfügbaren Schlüssel anzuzeigen. Wählen Sie Hinzufügen. Wählen Sie unter Optionen den Eintrag Manuell aus. Geben Sie einen Namen an (das Präfix B2C_1A_ wird möglicherweise automatisch hinzugefügt). Geben Sie im Textfeld Geheimnis einen geheimen Schlüssel ein, der verwendet werden soll, z. B. „1234567890“. Wählen Sie unter SchlüsselverwendungSignatur aus. Klicken Sie auf Erstellen.
OutputClaim hash Zeichenfolge Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Der im Eingabeanspruch plaintext konfigurierte Anspruch.

Ein Beispiel für Hash

Im folgenden Beispiel wird veranschaulicht, wie Sie einen Hash für eine E-Mail-Adresse erstellen. Die Anspruchstransformation fügt der E-Mail-Adresse vor dem Hashing des Werts, den Salt hinzu. Um diese Anspruchstransformation aufzurufen, legen Sie einen Wert auf den mySalt Anspruch fest.

<ClaimsTransformation Id="HashPasswordWithEmail" TransformationMethod="Hash">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="plaintext" />
    <InputClaim ClaimTypeReferenceId="mySalt" TransformationClaimType="salt" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="randomizerSecret" DataType="string" Value="B2C_1A_AccountTransformSecret" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="hashedEmail" TransformationClaimType="hash" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:
    • plaintext: someone@contoso.com
    • salt: 487624568
    • randomizerSecret: B2C_1A_AccountTransformSecret
  • Ausgabeansprüche:
    • outputClaim: CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U=

Nächste Schritte