Heltalsanspråktransformering
Den här artikeln innehåller exempel på hur du använder heltalsanspråktransformeringar av schemat Identity Experience Framework i Azure Active Directory B2C (Azure AD B2C). Mer information finns i ClaimsTransformations.
AdjustNumber
Ökar eller minskar ett numeriskt anspråk och returnerar ett nytt anspråk. Titta på livedemon för den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentarer |
---|---|---|---|
InputClaim | inputClaim | int | Anspråkstypen, som innehåller det tal som ska ökas eller minskas. Om anspråksvärdet inputClaim är null används standardvärdet 0. |
InputParameter | Operator | sträng | Möjliga värden: INCREMENT (standard) eller DECREMENT . |
OutputClaim | outputClaim | int | Anspråkstypen som skapas efter den här anspråkstransformeringen har anropats. |
Exempel på AdjustNumber
Använd den här anspråkstransformeringen för att öka eller minska ett numeriskt anspråksvärde. Följande anspråkstransformering ökar ett numeriskt anspråksvärde.
<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>
- Indataanspråk:
- inputClaim: 1
- Indataparametrar:
- Operator: INKREMENT
- Utdataanspråk:
- outputClaim: 2
Exempel på AdjustNumber med null-värde
Om indataanspråket är null blir utdataanspråket ett.
- Indataanspråk:
- inputClaim: NULL
- Indataparametrar:
- Operator: INKREMENT
- Utdataanspråk:
- outputClaim: 1
AssertNumber
Avgör om ett numeriskt anspråk är större, mindre, lika med eller inte lika med ett tal. Titta på livedemon för den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentarer |
---|---|---|---|
InputClaim | inputClaim | int | Det första numeriska anspråket som jämför om det är större, mindre, lika med eller inte lika med det andra talet. Null-värde genererar ett undantag. |
InputParameter | CompareToValue | int | Det andra talet som ska jämföras om det är större, mindre, lika med eller inte lika med det första talet. |
InputParameter | Operator | sträng | Möjliga värden: LessThan , GreaterThan , GreaterThanOrEqual , LessThanOrEqual , Equal , NotEqual . |
InputParameter | throwError | boolean | Anger om den här försäkran ska utlösa ett fel om jämförelseresultatet är true . Möjliga värden: true (standard) eller false . När värdet är true (Kontrollläge) och jämförelseresultatet är true genereras ett undantag. När värdet är false (utvärderingsläge) är resultatet en ny boolesk anspråkstyp true med värdet , eller false . |
OutputClaim | outputClaim | boolean | Om ThrowError är inställt på false innehåller true det här utdataanspråket , eller false enligt jämförelseresultatet. |
Kontrollläge
När throwError
indataparametern är true
(standard) körs AssertNumber-anspråkstransformeringen alltid från en teknisk valideringsprofil som anropas av en egensäkrad teknisk profil.
AssertNumberError-metadata för självkontrollerad teknisk profil styr det felmeddelande som den tekniska profilen visar användaren. Felmeddelandena kan lokaliseras.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
<Metadata>
<Item Key="AssertNumberError">You've reached the maximum logon attempts</Item>
</Metadata>
...
</TechnicalProfile>
Mer information om hur du anropar anspråksomvandlingen i ett kontrollläge finns i AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue och AssertDateTimeIsGreaterThan claims transformations.
Exempel på AssertNumber
I följande exempel hävdas att antalet försök är över fem. Anspråkstransformeringen genererar ett fel enligt jämförelseresultatet.
<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>
- Indataanspråk:
- inputClaim: 10
- Indataparametrar:
- Operator: GreaterThan
- CompareToValue: 5
- throwError: true
- Resultat: Fel uppstod
Exempel på AssertNumber-utvärderingsläge
I följande exempel utvärderas om antalet försök är över fem. Utdataanspråket innehåller ett booleskt värde enligt jämförelseresultatet. Anspråkstransformeringen genererar inget fel.
<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>
- Indataanspråk:
- inputClaim: 10
- Indataparametrar:
- Operator: GreaterThan
- CompareToValue: 5
- throwError: false
- Utdataanspråk:
- outputClaim: true
ConvertNumberToStringClaim
Konverterar en lång datatyp till en strängdatatyp. Titta på livedemon för den här anspråkstransformeringen.
Element | TransformationClaimType | Datatyp | Kommentarer |
---|---|---|---|
InputClaim | inputClaim | long | Anspråkstypen som ska konverteras till en sträng. |
OutputClaim | outputClaim | sträng | Anspråkstypen som skapas efter den här anspråkstransformeringen har anropats. |
Exempel på ConvertNumberToStringClaim
I det här exemplet konverteras anspråket numericUserId
med en värdetyp av lång till ett UserId
anspråk med en värdetyp av sträng.
<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Indataanspråk:
- inputClaim: 12334 (lång)
- Utdataanspråk:
- outputClaim: "12334" (sträng)
Nästa steg
- Hitta fler exempel på anspråkstransformering på github-lagringsplatsen för Azure AD B2C-community