Azure B2C用户流:使用已注册邮箱注册时显示Undefined错误求助
解决Azure B2C注册时重复邮箱错误显示“undefined”的问题
严格校验API返回的JSON结构
Azure B2C对错误响应的字段大小写和格式要求严格,必须完全匹配规范。确保返回的JSON包含以下字段:{ "version": "1.0.0", "status": "400", "userMessage": "该邮箱已注册,请直接登录或更换其他邮箱。" }注意字段名必须是小写的
version、status、userMessage,拼写错误或大小写不符都会导致错误信息无法识别,最终显示“undefined”。确认API Connector的触发时机
必须将API Connector绑定到注册用户流的**预创建用户(Pre-create user)**步骤,只有这个节点返回的错误才会被注册页面捕获并展示给用户。如果绑定到其他步骤,错误无法传递到前端。检查自定义UI模板的错误渲染逻辑
如果使用了自定义页面布局,要确保模板中包含错误信息的展示元素,并且脚本能正确读取并渲染userMessage。比如在自定义HTML中添加:<div class="alert alert-danger" id="apiError" style="display:none;"></div>同时不要覆盖或删除B2C默认的错误处理逻辑,确保内置脚本能将错误信息注入到该元素中。
验证HTTP响应状态码
API必须返回4xx系列的状态码(如400 Bad Request),如果返回2xx状态码,Azure B2C会判定请求成功,直接忽略返回的错误信息内容。排查内置重复邮箱检测的冲突
如果用户流启用了内置的“阻止重复电子邮件”选项,同时又通过API Connector做重复检测,可能会导致逻辑冲突。可以暂时关闭内置选项,仅依赖API的检测逻辑,验证错误提示是否能正常显示。
内容的提问来源于stack exchange,提问作者Springy Developer
相关产品推荐
相关产品推荐

