整數宣告轉換

這很重要

自 2025 年 5 月 1 日起,Azure AD B2C 將不再可供新客戶購買。 在我們的常見問題中深入瞭解。

本文提供在 Azure Active Directory B2C (Azure AD B2C) 中使用身分識別體驗架構架構的整數宣告轉換範例。 如需詳細資訊,請參閱 ClaimsTransformations。

調整編號

增加或減少數值宣告,並傳回新的宣告。 查看 此宣告轉換的實時示範 。

元素 TransformationClaimType 數據類型 註釋
InputClaim (輸入宣告) inputClaim 整數 (int) 宣告類型,其中包含要增加或減少的數位。 inputClaim如果宣告值為 null,則會使用預設值 0。
輸入參數 操作員 字符串 可能的值: INCREMENT (預設值),或 DECREMENT。
輸出聲明 outputClaim 整數 (int) 叫用這個宣告轉換之後所產生的宣告類型。

AdjustNumber 的範例

使用此宣告轉換來增加或減少數值宣告值。 下列宣告轉換會增加數值宣告值。

<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>
  • 輸入宣告:
    • inputClaim:1
  • 輸入參數:
    • 運算子:INCREMENT
  • 輸出宣告:
    • outputClaim: 2

具有 Null 值的 AdjustNumber 範例

如果輸入宣告為 null,輸出宣告將會是一個。

  • 輸入宣告:
    • inputClaim:NULL
  • 輸入參數:
    • 運算子:INCREMENT
  • 輸出宣告:
    • outputClaim:1

斷言編號

判斷數值宣告是否大於、小於、等於或不等於數位。 查看 此宣告轉換的實時示範 。

元素 TransformationClaimType 數據類型 註釋
InputClaim (輸入宣告) inputClaim 整數 (int) 要比較的第一個數值宣告是大於、小於、相等,還是不等於第二個數位。 Null 值會擲回例外狀況。
輸入參數 CompareToValue (比較值) 整數 (int) 要比較其大於、小於、相等或不等於第一個數位的第二個數位。
輸入參數 操作員 字符串 可能的值:LessThan、GreaterThan、GreaterThanOrEqual、LessThanOrEqual、Equal、NotEqual。
輸入參數 throwError 錯誤 布爾值 指定如果比較結果為 true,這個判斷提示是否應該擲回錯誤。 可能的值: true (預設值),或 false。
 
當設定為 true (判斷提示模式),而比較結果為 true時,將會擲回例外狀況。 當設定為 false [評估模式] 時,結果會是新的布林宣告類型,值為 true或 false。
輸出聲明 outputClaim 布爾值 如果 ThrowError 設定為 false,則此輸出宣告包含 true,或 false 根據比較結果。

判斷提示模式

當輸入參數為 throwError (預設值)時true,AssertNumber 宣告轉換一律會從自我判斷技術配置檔呼叫的驗證技術配置檔執行。

AssertNumberError 自我判斷技術配置檔元數據會控制技術配置檔向用戶呈現的錯誤訊息。 錯誤訊息可以 當地語系化。

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

如需如何在判斷提示模式中呼叫宣告轉換的詳細資訊,請參閱 AssertStringClaimsAreEqual、 AssertBooleanClaimIsEqualToValue 和 AssertDateTimeIsGreaterThan 宣告轉換。

AssertNumber 的範例

下列範例判斷提示嘗試次數超過五次。 宣告轉換會根據比較結果擲回錯誤。

<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>
  • 輸入宣告:
    • inputClaim:10
  • 輸入參數:
    • 運算子:GreaterThan
    • CompareToValue:5
    • throwError: true
  • 結果:擲回錯誤

AssertNumber 評估模式的範例

下列範例會評估嘗試次數是否超過五次。 輸出宣告會根據比較結果包含布爾值。 宣告轉換不會擲回錯誤。

<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>
  • 輸入宣告:
    • inputClaim:10
  • 輸入參數:
    • 運算子:GreaterThan
    • CompareToValue:5
    • throwError: false
  • 輸出宣告:
    • outputClaim: true

ConvertNumberToStringClaim

將long資料類型轉換成字串資料類型。 查看 此宣告轉換的實時示範 。

元素 TransformationClaimType 數據類型 註釋
InputClaim (輸入宣告) inputClaim 長 要轉換成字串的宣告類型。
輸出聲明 outputClaim 字符串 叫用這個宣告轉換之後所產生的宣告類型。

ConvertNumberToStringClaim 的範例

在此範例中 numericUserId ,具有long實值類型的宣告會 UserId 轉換成具有字串實值類型的宣告。

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 輸入宣告:
    • inputClaim: 12334 (long)
  • 輸出宣告:
    • outputClaim: “12334” (string)

後續步驟