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

Azure B2C用户流中@xxx.onmicrosoft.com账号Email声明缺失求助

问题原因及解决办法

核心原因

  • 你的@xxx.onmicrosoft.com账号属于B2C内置租户账号:首次登录是交互式登录,B2C会从目录中完整拉取包括email在内的用户属性并传给API连接器;但关闭应用重新打开时触发的是静默SSO登录,B2C默认不会在静默请求中主动拉取所有声明,仅返回会话缓存中已有的内容,而你没配置强制返回email声明,导致API连接器拿不到。
  • 你在用户流中勾选了Email Addresses应用声明,但未设置为始终返回此声明,B2C在SSO场景下会省略这类非强制声明;外部第三方IDP账号不存在这个问题,因为它们的email由身份提供者每次登录时主动返回,B2C会直接传递。

解决步骤

  1. 修改用户流的应用声明配置:
    进入注册登录用户流的“应用声明”页面,找到Email Addresses声明,点击编辑,勾选“始终返回此声明”选项,确保B2C在任何登录场景(包括SSO)中都会把email加入到传给API连接器的payload里。
  2. 检查会话管理设置:
    在用户流的“会话管理”中,确认“SSO会话状态”设为“使用现有会话”时,是否开启了“强制获取声明”选项,开启后可强制B2C每次都从目录拉取最新的用户属性。
  3. 验证API连接器触发逻辑:
    查看B2CRoleAssignment Azure Function的运行日志,确认静默登录场景下是否有请求进入,以及请求中包含的属性字段,排查预览版API连接器对SSO请求的处理差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:15:41