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

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

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

有人知道怎么做吗?

非常感谢

最佳答案

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

关于c# - 使用 azure b2c 跳过密码重置时的电子邮件验证步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67078826/

相关文章:

node.js - 使用 Azure Functions 和 Azure Cosmos DB 时出现问题,返回 "down for maintenance"

c# - Transact SQL 日期查询不返回任何结果

ASP.NET 5 JSON 与 Azure Web 应用程序

azure - 无法删除 Azure 存储帐户

web-hosting - "simple"网站不选择基于云的托管的原因是什么?

linux - 开源保管箱类型的软件?

c# - 如果窗体上没有其他控件,图表就会消失

c# - WPF MVVM : Saving Data automatically

c# - 上传文件报错 415 Unsupported Media Type

c# - 使用 AAD 对 Azure API 应用程序进行身份验证时出现 401 错误