Teilen über


Transformationen von Integer-Ansprüchen

Dieser Artikel enthält Beispiele für die Verwendung von Integer-Anspruchstransformationen des Identity Experience Framework-Schemas in Azure Active Directory B2C (Azure AD B2C). Weitere Informationen finden Sie unter ClaimsTransformations.

AdjustNumber

Erhöht oder verringert einen numerischen Anspruch und gibt einen neuen Anspruch zurück. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputClaim INT Der Anspruchstyp, der die Zahl enthält, die erhöht oder verringert werden soll. Wenn der inputClaim-Anspruchswert NULL ist, wird der Standardwert 0 verwendet.
InputParameter Operator Zeichenfolge Mögliche Werte: INCREMENT (Standard) oder DECREMENT.
OutputClaim outputClaim INT Dies ist der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde.

Ein Beispiel für AdjustNumber

Verwenden Sie diese Anspruchstransformation, um einen numerischen Anspruchswert zu erhöhen oder zu verringern. Die folgende Anspruchstransformation erhöht einen numerischen Anspruchswert.

<ClaimsTransformation Id="UpdateSteps" TransformationMethod="AdjustNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="steps" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="INCREMENT" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="steps" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:
    • inputClaim: 1
  • Eingabeparameter:
    • Operator: INCREMENT
  • Ausgabeansprüche:
    • outputClaim: 2

Ein Beispiel für AdjustNumber mit NULL-Wert

Wenn der Eingabeanspruch NULL ist, ist der Ausgabeanspruch 1.

  • Eingabeansprüche:
    • inputClaim: NULL
  • Eingabeparameter:
    • Operator: INCREMENT
  • Ausgabeansprüche:
    • outputClaim: 1

AssertNumber

Bestimmt, ob ein numerischer Anspruch größer, kleiner, gleich oder ungleich einer Zahl ist. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputClaim INT Der erste numerische Anspruch, der verglichen werden soll, um zu ermitteln, ob er größer, kleiner, gleich oder ungleich der zweiten Zahl ist. Ein Null-Wert löst eine Ausnahme aus.
InputParameter CompareToValue INT Die zweite Zahl, die verglichen werden soll, um zu ermitteln, ob sie größer, kleiner, gleich oder ungleich der ersten Zahl ist.
InputParameter Operator Zeichenfolge Mögliche Werte: LessThan, GreaterThan, GreaterThanOrEqual, LessThanOrEqual, Equal, NotEqual.
InputParameter throwError boolean Gibt an, ob diese Assertion einen Fehler auslösen soll, wenn das Vergleichsergebnis true ist. Mögliche Werte: true (Standard) oder false.
 
Wenn der Wert true (Assertionsmodus) und das Vergleichsergebnis true sind, wird eine Ausnahme ausgelöst. Wenn der Wert false (Auswertungsmodus) ist, ist das Ergebnis ein neuer boolescher Anspruchstyp mit dem Wert true oder false.
OutputClaim outputClaim boolean Wenn ThrowError auf false festgelegt ist, enthält dieser Ausgabeanspruch je nach Vergleichsergebnis true oder false.

Assertionsmodus

Wenn der throwError-Eingabeparameter true ist (Standard), wird die Transformation von AssertNumber-Ansprüchen immer aus einem technischen Validierungsprofil ausgeführt, das von einem selbstbestätigten technischen Profil aufgerufen wird.

Die Metadaten des selbstbestätigten technischen Profils AssertNumberError steuern die Fehlermeldung, die das technische Profil dem Benutzer anzeigt. Die Fehlermeldungen können lokalisiert werden.

<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
  <Metadata>
    <Item Key="AssertNumberError">You've reached the maximum logon attempts</Item>
  </Metadata>
  ...
</TechnicalProfile>

Weitere Informationen zum Aufrufen von Anspruchstransformationen in einem Assertionsmodus finden Sie unter den Anspruchstransformationen AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue und AssertDateTimeIsGreaterThan.

Ein Beispiel für AssertNumber

Im folgenden Beispiel wird bestätigt, dass die Anzahl der Versuche über fünf liegt. Die Anspruchstransformation löst bei entsprechendem Vergleichsergebnis einen Fehler aus.

<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
    <InputParameter Id="CompareToValue" DataType="int" Value="5" />
    <InputParameter Id="throwError" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • Eingabeansprüche:
    • inputClaim: 10
  • Eingabeparameter:
    • Operator: GreaterThan
    • CompareToValue: 5
    • throwError: true
  • Ergebnis: Fehler wird ausgelöst.

Ein Beispiel für den AssertNumber-Auswertungsmodus

Im folgenden Beispiel wird ausgewertet, ob die Anzahl der Versuche über fünf liegt. Der Ausgabeanspruch enthält einen booleschen Wert, der dem Vergleichsergebnis entspricht. Die Anspruchstransformation löst keinen Fehler aus.

<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
    <InputParameter Id="CompareToValue" DataType="int" Value="5" />
    <InputParameter Id="throwError" DataType="boolean" Value="false" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="attemptsCountExceeded" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:
    • inputClaim: 10
  • Eingabeparameter:
    • Operator: GreaterThan
    • CompareToValue: 5
    • throwError: false
  • Ausgabeansprüche:
    • outputClaim: true

ConvertNumberToStringClaim

Konvertiert einen long-Datentyp in einen string-Datentyp. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputClaim long Der Anspruchstyp, der in eine Zeichenfolge konvertiert werden soll.
OutputClaim outputClaim Zeichenfolge Dies ist der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde.

Ein Beispiel für ConvertNumberToStringClaim

In diesem Beispiel wird der Anspruch numericUserId mit dem Werttyp long in einen UserId-Anspruch mit dem Werttyp string konvertiert.

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:
    • inputClaim: 12334 (long)
  • Ausgabeansprüche:
    • outputClaim: „12334“ (string)

Nächste Schritte