Share via


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 truegenereras ett undantag. När värdet är false (utvärderingsläge) är resultatet en ny boolesk anspråkstyp truemed värdet , eller false.
OutputClaim outputClaim boolean Om ThrowError är inställt på falseinnehåller truedet 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