You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure B2C中REST验证错误未在UI显示问题排查

问题排查方向

1. 确认服务返回格式是否匹配Azure B2C要求

Azure B2C对自定义REST API的错误响应有严格格式要求,不符合则无法识别并展示userMessage。正确的Bad Request响应结构需包含以下字段:

{
  "version": "1.0.0",
  "status": 400,
  "userMessage": "需要显示的错误提示文本"
}
  • 必须存在version字段且值为1.0.0
  • status必须是400(对应Bad Request状态码)
  • userMessage字段名不能拼写错误,值需为字符串类型
  • 响应头Content-Type必须设置为application/json

2. 检查Azure B2C中REST API技术配置

核对你提供的配置代码,重点确认:

  • Metadata中的ServiceUrl是否正确指向测试服务地址
  • SendClaimsIn是否设置为符合服务接收方式的参数(如Body)
  • 技术配置是否被正确添加到用户旅程的验证节点,且配置为失败时终止后续流程
    示例关键配置片段:
<TechnicalProfile Id="REST-CustomValidation">
  <DisplayName>自定义验证服务</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ServiceUrl">https://your-test-service.com/validate</Item>
    <Item Key="SendClaimsIn">Body</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
  </InputClaims>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>

3. 分析Application Insights日志

从日志中重点排查:

  • Azure B2C调用服务时的完整请求/响应数据,确认B2C是否正确接收到包含userMessage的响应
  • 是否存在"Invalid response from REST API"类的错误日志,提示响应格式不合法
  • 确认服务返回的HTTP状态码确实是400,而非其他错误码

4. 核对用户旅程的验证步骤顺序

如果用户旅程包含多个验证步骤,需确保该REST API验证步骤优先执行,且配置为失败即终止后续流程。若其他验证步骤先执行,可能会覆盖当前错误提示,导致流程继续。

内容的提问来源于stack exchange,提问作者Abe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:34:51