使用 azure b2c 跳过密码重置的电子邮件验证步骤

Skipping the email verification step on password reset using azure b2c

我想跳过重置密码时的电子邮件验证,而是想在允许用户定义新密码之前进行 API 调用。

我尝试替换下面的第一步

<OrchestrationStep Order="1" Type="ClaimsExchange">
  <ClaimsExchanges>
    <ClaimsExchange Id="PasswordResetUsingEmailAddressExchange" TechnicalProfileReferenceId="LocalAccountDiscoveryUsingEmailAddress" />
  </ClaimsExchanges>
</OrchestrationStep>

<OrchestrationStep Order="1" Type="ClaimsExchange">
  <ClaimsExchanges>
    <ClaimsExchange Id="UserReadUsingEmailAddressExchange" TechnicalProfileReferenceId="AAD-UserReadUsingEmailAddress" />
  </ClaimsExchanges>
</OrchestrationStep>

但出现以下错误

AADB2C90037:处理请求时出错。请联系您尝试访问的站点的管理员。关联 ID:6ffea2fd-bc28-4d7c-8a92-abe63f3e5b54 时间戳:2021-04-13 14:42:24Z

关于我获得的应用见解

异常 Message:An 处理请求时发生错误。请联系您尝试访问的站点的管理员。异常 Type:PolicyException、CorrelationID:6ffea2fd-bc28-4d7c-8a92-abe63f3e5b54

有人知道怎么做吗?

非常感谢

Disable Email Verification.

将此概念应用于密码重置之旅的相应技术配置文件。您根本不需要修改用户旅程。

<ClaimsProvider>
  <DisplayName>Local Account</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="LocalAccountDiscoveryUsingEmailAddress">
      <Metadata>
        <Item Key="EnforceEmailVerification">false</Item>
      </Metadata>
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

Call a REST API 来自您的旅程。

以下参考资料教授如何阅读和理解自定义策略。 https://github.com/azure-ad-b2c/azureadb2ccommunity.io/wiki/LocalAccount-Sign-In-and-Sign-Up-policy