這很重要
自 2025 年 5 月 1 日起,Azure AD B2C 將不再可供新客戶購買。 在我們的常見問題中深入瞭解。
使用驗證 顯示控制項 來驗證宣告,例如電子郵件地址或電話號碼,以及傳送給使用者的驗證碼。
VerificationControl 動作
驗證顯示控制項包含兩個步驟(動作):
向使用者要求目的地,例如應傳送驗證碼的電子郵件地址或電話號碼。 當使用者選取 [ 傳送程式代碼 ] 按鈕時,會執行驗證顯示控件的 SendCode 動作 。 SendCode 動作會產生程式碼、建構要傳送的內容,並將其傳送給使用者。 位址的值可以預先填入,並做為第二要素驗證。
傳送程式代碼之後,使用者會讀取訊息、將驗證碼輸入顯示控件所提供的控件,然後選取 [ 驗證碼]。 選取 [驗證碼],會執行 VerifyCode 動作 來驗證與地址相關聯的程式代碼。 如果使用者選取 [ 傳送新程序代碼],則會再次執行第一個動作。
VerificationControl 必要元素
VerificationControl 必須包含下列元素:
-
DisplayControl類型為VerificationControl。 DisplayClaims- 傳送至 - 指定將驗證碼傳送至何處的一或多個宣告。 例如, 電子郵件 或 國家/地區代碼 和 電話號碼。
-
驗證碼 - 用戶傳送程式代碼之後所提供的驗證碼宣告。 此宣告必須設定為必要,且
ControlClaimType必須設定為VerificationCode。
- 輸出宣告 (選擇性) 會在使用者完成驗證程式之後傳回至自我判斷頁面。 例如, 電子郵件 或 國家/地區代碼 和 電話號碼。 自我判斷技術配置檔會使用宣告來保存數據,或將輸出宣告反升至下一個協調流程步驟。
- 具有下列名稱的兩
Action個 :- SendCode - 將程式代碼傳送給使用者。 此動作通常包含兩個驗證技術配置檔,以產生程式代碼並傳送程式代碼。
- VerifyCode - 驗證程序代碼。 此動作通常包含單一驗證技術配置檔。
在下列範例中, 頁面會顯示電子郵件 文本框。 當使用者輸入其電子郵件地址並選取 SendCode 時,會在 Azure AD B2C 後端觸發 SendCode 動作。
然後,使用者輸入 verifyCode ,然後選取 VerifyCode 以觸發後端的 VerifyCode 動作。 如果所有驗證都通過, 則 ValidationControl 會被視為完成,而且使用者可以繼續進行下一個步驟。
<DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl">
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="email" Required="true" />
<DisplayClaim ClaimTypeReferenceId="verificationCode" ControlClaimType="VerificationCode" Required="true" />
</DisplayClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" />
</OutputClaims>
<Actions>
<Action Id="SendCode">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="GenerateOtp" />
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="SendGrid" />
</ValidationClaimsExchange>
</Action>
<Action Id="VerifyCode">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="VerifyOtp" />
</ValidationClaimsExchange>
</Action>
</Actions>
</DisplayControl>