【问题标题】:Skipping the email verification step on password reset using azure b2c使用 azure b2c 跳过密码重置的电子邮件验证步骤
【发布时间】:2021-04-13 16:27:27
【问题描述】:

我想跳过重置密码时的电子邮件验证,而是想在允许用户定义新密码之前进行 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

关于我获得的应用洞察

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

有人知道怎么做吗?

非常感谢

【问题讨论】:

    标签: c# azure cloud azure-ad-b2c azure-ad-b2c-custom-policy


    【解决方案1】:

    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

    【讨论】:

    • 我按照您的建议对技术配置文件进行了更改,现在可以使用了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    相关资源
    最近更新 更多