【发布时间】:2020-04-08 15:40:59
【问题描述】:
这是this question here. 的扩展我有一个调用 REST API 的策略。 API 返回错误消息,此消息需要本地化。
一种方法当然是让 API 返回本地化消息,但 CustomPolicy 本身是否有方法本地化错误代码?根据 CustomPolicy Docs,REST API 可以发送错误代码以及冲突错误代码。我们的想法是使用此错误代码作为键并选择本地化消息(来自链接答案中提到的 messageValue 枚举)。
但是,我们似乎无法捕获/处理 API 返回的错误数据。该策略似乎自己处理错误代码,我们想知道是否可以从策略本身注入本地化异常/错误消息。
提前致谢!
编辑:有关设置的更多信息。我们有一个包含 DisplayWidget 和 ValidationTechnicalProfile 的 TechnicalProfile。 DisplayWidget 用于输入和验证用户的电话/电子邮件,ValidationTechnicalProfile 使用所有用户信息对 RestAPI 进行最终调用以注册他/她。这个 RestAPI 调用输出是我们想要本地化的。
据我了解,链接的 SO 问题中的建议是,我们在 DisplayWidget 中集成另一个 DisplayClaim(引用枚举),并根据调用返回的 ErrorCode 进行更改以显示适当的代码。但是,据我了解,这还需要编辑 API 以仅返回 200 和代码。此代码将指示结果的真实性质 - 成功或要显示的枚举之一的代码。
因此,我们的目标是检查是否有办法遵循政策流程(中断注册/登录流程),同时本地化 API 显示的响应。
【问题讨论】:
-
嗨@vronzeur。如果将输出声明转换(例如
GetLocalizedMessage)添加到 REST API 技术配置文件,会发生什么情况。这是一个长镜头,因为我相信如果 REST API 返回409 Conflict,那么控制流将被“中断”并且不会调用输出声明转换。 -
我们尝试过这种方式,但就像你说的那样,在 REST API 调用失败后,流程被中断,没有任何东西被调用。
标签: azure-active-directory azure-ad-b2c