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

Error handling in Azure B2C Custom Policy REST Call

我正在使用休息 API 调用制定 Azure B2C 自定义策略。当用户注册或登录时,我正在点击一个 api 端点以获取用户信息并将其添加回声明中。

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

我想做的是忽略 404 错误并继续下一个编排步骤,然后我们可以检查我们是否从 api 返回任何信息,如果没有,请点击另一个 api 端点以生成用户信息并继续使用流中的符号 up/sign。

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

只要您的 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" >