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

Entra ID External Identities JWT ID Token缺失email声明及配置咨询

问题解决指南:Azure CIAM Google身份提供商ID Token缺失email声明及授权机构配置

一、修复ID Token缺失email声明的步骤

  1. 验证Google OAuth客户端权限
    在Google Cloud控制台的OAuth 2.0客户端ID设置中,确保已添加email和profile范围,测试环境需添加测试用户,正式环境需发布应用。Azure侧的Google身份提供商配置里,要确认请求的范围包含https://www.googleapis.com/auth/userinfo.email和https://www.googleapis.com/auth/userinfo.profile。

  2. 检查用户流的声明与属性配置

    • 进入CIAM租户的用户流,打开「可选声明」,添加email声明,选择「ID Token」作为令牌类型,确保来源是「身份提供商」(而非仅Azure用户存储)。
    • 切换到「用户属性」标签,确认「电子邮件地址」已设置为「需要」或「可选」,并且在「身份提供商属性」映射中,将Google的email属性映射到Azure的「电子邮件地址」字段。
  3. 触发用户信息同步
    让受影响的用户退出登录后重新通过Google登录,触发Azure从Google同步用户的email信息到用户账户。若首次登录未同步,后续登录会尝试重新拉取。

二、社交集成场景下的正确授权机构配置

Azure CIAM用户流的授权机构URL格式应为:

https://<tenant-name>.ciamlogon.com/<tenant-domain>/oauth2/v2.0/authorize?p=<user-flow-name>

示例:

https://contoso.ciamlogon.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_signup_signin

你当前使用的URL缺少oauth2/v2.0/authorize路径和p=参数指定用户流,会导致授权请求无法正确关联到你的用户流配置。

三、是否需要切换到access token?

不需要。ID Token的核心作用就是承载用户的身份声明(包括email),access token主要用于授权访问资源API。只要完成上述配置,ID Token即可包含email声明,无需改用access token处理身份信息获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:29:57