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
- Weitere Beispiele für die Anspruchstransformation finden Sie im GitHub-Repository der Azure-AD-B2C-Community