如何调整Azure B2C自定义策略移除邮件验证流程含Change email按钮的第三页
移除Azure AD B2C拆分邮件验证注册流程中带「修改邮箱」按钮页面的解决方案
该需求可以通过调整用户旅程编排步骤、优化声明传递逻辑实现,无需修改前端自定义页面,具体操作如下:
1. 删除对应编排步骤
在你的自定义策略文件中,定位到SplitEmailSignUp用户旅程节点,找到对应邮箱验证成功后的确认页面编排步骤(原示例中为编号4的ClaimsExchange类型步骤,对应ID为EmailVerifiedRead),直接删除该步骤。之后将后续所有编排步骤的编号依次减1,保证步骤编号从1开始连续无断号。
注意:如果你此前对示例策略做过自定义调整,需要先确认步骤关联的技术配置文件为显示验证成功页的配置,避免误删其他流程节点
2. 调整声明传递配置
完成步骤删除后,需要保证已验证的邮箱声明可以直接从验证码验证步骤传递到后续注册页,不需要经过中间页确认:
- 定位到验证码验证对应的技术配置文件,在其
OutputClaims节点下确保email、isEmailVerified两个声明已经配置为输出且不会被后续步骤清空 - 定位到注册信息收集页对应的
LocalAccountSignUpWithLogonEmail技术配置文件,修改其InputClaims节点,配置邮箱声明的只读映射,避免注册页重复要求用户填写邮箱,参考配置如下:
<InputClaims> <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="Verified.Email" Required="true" /> <InputClaim ClaimTypeReferenceId="readOnlyEmail" DefaultValue="{Claim:email}" /> </InputClaims>
3. 校验流程分支
删除原示例中绑定在「Change email」按钮对应的预条件跳转逻辑,避免流程出现无效的分支判断。
验证规则
修改完成上传策略前,先确认两项配置:
- 所有编排步骤编号连续无断号
verifiedEmail声明在邮箱验证完成后被标记为必填,不会在注册步骤被覆盖
调整完成后,用户完成邮箱验证码提交后会直接跳转至注册信息填写页,不会再出现带「修改邮箱」按钮的中间确认页。
内容的提问来源于stack exchange,提问作者Pepper
相关产品推荐
相关产品推荐

