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

Azure AD中能否将CustomSecurityAttributes添加至idToken?

在Azure AD中把CustomSecurityAttributes加入idToken的方案

Azure AD默认不会将自定义安全属性(CustomSecurityAttributes)直接包含在id_token中,这类属性属于敏感安全配置项,但可以通过以下几种方式实现需求:

1. 针对Azure AD B2C租户:使用用户流自定义声明

如果你的场景是Azure AD B2C,可直接通过用户流配置映射:

  • 登录Azure AD B2C门户,选择目标注册/登录用户流
  • 进入「自定义声明」页面,点击「添加」,创建新声明并关联到用户的自定义安全属性
  • 返回用户流的「应用程序声明」页面,勾选刚创建的自定义声明,保存并发布用户流
  • 重新发起认证后,生成的id_token将包含该自定义安全属性

2. 通用方案:通过Microsoft Graph API获取

这是所有Azure AD版本都支持的官方方案,适合对安全性要求较高的场景:

  • 用户完成认证拿到id_token后,使用有效的Graph API访问令牌,调用GET /me?$select=customSecurityAttributes接口,直接获取用户的自定义安全属性
  • 调用接口需申请User.Read或User.ReadBasic.All权限,同时要确保调用者有权限读取目标用户的自定义安全属性

3. 替代方案:改用目录扩展属性

如果不需要自定义安全属性的权限管控能力,可改用Azure AD目录扩展属性,这类属性可配置到id_token中:

  • 先在Azure AD中创建针对用户的目录扩展属性
  • 打开应用注册的「清单」编辑器,找到optionalClaims节点,添加idToken声明配置,示例如下:
    "optionalClaims": {
      "idToken": [
        {
          "name": "extension_{你的应用客户端ID}_自定义属性名",
          "source": "user",
          "essential": false
        }
      ]
    }
    
  • 保存清单后重新发起认证,id_token就会包含该扩展属性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 14:34:59