Azure B2C 自定义策略 REST 调用中的错误处理

时间:2021-01-23 06:03:18

标签: azure-ad-b2c identity-experience-framework azure-ad-b2c-custom-policy

我正在处理带有 rest API 调用的 Azure B2C 自定义策略。当用户注册或登录时,我会点击 api 端点以获取用户信息并将其添加回声明中。

但是,当在外部系统中找不到用户时(例如在注册过程中),api 将抛出 404。发生这种情况时,错误会发布在 url 中,并且用户流错误。

我想要做的是忽略 404 错误并继续下一个编排步骤,然后我们可以检查是否从 api 获取了任何信息,如果没有,点击另一个 api 端点以生成用户信息和继续注册/登录流程。

我一直在寻找方法来做到这一点,我看到的唯一答案是从 api 端处理错误,这在这种情况下由于访问限制而非常困难。

1 个答案:

答案 0 :(得分:0)

每当您的 API 向 AAD B2C 发送非 200 响应时,它就会停止旅程的执行。如果有向用户显示的页面,并且 REST API 调用作为验证技术配置文件运行,则错误会显示在屏幕上。否则,错误将发送到应用 URL。

在验证技术配置文件中,您可以使用 ContinueOnError 属性更改此行为。 https://docs.microsoft.com/en-us/azure/active-directory-b2c/validation-technical-profile

通过验证技术配置文件调用 REST API 技术配置文件,然后添加标志 ContinueOnError="true"

<ValidationTechnicalProfile ReferenceId="REST-ReadProfileFromCustomerDatabase" ContinueOnError="true" >