一般宣告轉換
此文章提供使用 Azure Active Directory B2C (Azure AD B2C) 自訂原則的一般宣告轉換範例。 如需詳細資訊,請參閱宣告轉換。
CopyClaim
將宣告的值複製到另一個。 這兩個宣告都必須來自同一個類型。 查看此宣告轉換的即時示範。
元素 | TransformationClaimType | 資料類型 | 注意 |
---|---|---|---|
InputClaim | inputClaim | string、int | 要複製的宣告類型。 |
OutputClaim | outputClaim | string、int | 叫用此宣告轉換之後所產生的宣告。 |
使用此宣告轉換,將字串或數值宣告中的值複製到另一個宣告。 下列範例會將 externalEmail 宣告值複製到電子郵件宣告。
<ClaimsTransformation Id="CopyEmailAddress" TransformationMethod="CopyClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="externalEmail" TransformationClaimType="inputClaim"/>
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="outputClaim"/>
</OutputClaims>
</ClaimsTransformation>
CopyClaim 範例
- 輸入宣告:
- inputClaim:bob@contoso.com
- 輸出宣告:
- outputClaim:bob@contoso.com
DoesClaimExist
檢查輸入宣告是否存在,並據以將輸出宣告設定為 true
或 false
。 查看此宣告轉換的即時示範。
元素 | TransformationClaimType | 資料類型 | 注意 |
---|---|---|---|
InputClaim | inputClaim | 任意 | 必須驗證其存在的輸入宣告。 |
OutputClaim | outputClaim | boolean | 叫用此宣告轉換之後所產生的宣告。 |
DoesClaimExist 範例
使用此宣告轉換來檢查某個宣告是否存在或包含任何值。 傳回值是布林值,會指出宣告是否存在。 下列範例會檢查電子郵件地址是否存在。
<ClaimsTransformation Id="CheckIfEmailPresent" TransformationMethod="DoesClaimExist">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="isEmailPresent" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- 輸入宣告:
- inputClaim:someone@contoso.com
- 輸出宣告:
- outputClaim:true
雜湊
使用 salt 和祕密,針對提供的純文字進行雜湊處理。 使用的雜湊演算法是 SHA-256。 查看此宣告轉換的即時示範。
元素 | TransformationClaimType | 資料類型 | 注意 |
---|---|---|---|
InputClaim | plaintext | 字串 | 要加密的輸入宣告 |
InputClaim | salt | 字串 | Salt 參數。 您可以使用 CreateRandomString 宣告轉換來建立隨機值。 |
InputParameter | randomizerSecret | 字串 | 指向現有的 Azure AD B2C 原則金鑰。 若要建立新的原則金鑰:在您的 Azure AD B2C 租用戶中,於 [管理] 底下,選取 [Identity Experience Framework]。 若要檢視租用戶中可用的金鑰,請選取 [原則金鑰]。 選取 [新增]。 針對 [選項],選取 [手動]。 提供名稱 (可能會自動新增前置詞 B2C_1A_)。 在 [祕密] 文字方塊中,輸入任何您想要使用的祕密,例如 1234567890。 針對 [金鑰使用方法] 選取 [簽章]。 選取 [建立]。 |
OutputClaim | 雜湊 | 字串 | 叫用此宣告轉換之後所產生的宣告。 設定於 plaintext inputClaim 中的宣告。 |
雜湊範例
下列範例示範如何將電子郵件地址進行雜湊處理。 宣告轉換會先將 Salt 新增至電子郵件地址,然後再將值進行雜湊處理。 若要呼叫此宣告轉換,請將值設定為 mySalt
宣告。
<ClaimsTransformation Id="HashPasswordWithEmail" TransformationMethod="Hash">
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="plaintext" />
<InputClaim ClaimTypeReferenceId="mySalt" TransformationClaimType="salt" />
</InputClaims>
<InputParameters>
<InputParameter Id="randomizerSecret" DataType="string" Value="B2C_1A_AccountTransformSecret" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="hashedEmail" TransformationClaimType="hash" />
</OutputClaims>
</ClaimsTransformation>
- 輸入宣告:
- plaintext:someone@contoso.com
- salt:487624568
- randomizerSecret:B2C_1A_AccountTransformSecret
- 輸出宣告:
- outputClaim:CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U =
後續步驟
- 在 Azure AD B2C 社群 GitHub 存放庫中,尋找更多宣告轉換範例