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

配置Azure企业应用:在id_token中包含本地扩展属性

将onPremisesExtensionAttributes包含到Azure AD id_token的配置方法

核心结论

可以通过Azure AD应用Manifest的配置,将onPremisesExtensionAttributes中的字段添加到id_token声明里,无需额外调用Graph API,但需要完成可选声明配置+目录扩展属性映射两步操作,不是仅添加optionalClaims就能实现。

具体配置步骤

  1. 确定需要嵌入id_token的onPremisesExtensionAttributes具体字段(比如extensionAttribute1至extensionAttribute15)。
  2. 编辑应用Manifest,找到optionalClaims节点,添加id_token的声明配置,示例如下:
"optionalClaims": {
  "idToken": [
    {
      "name": "extensionAttribute1",
      "source": "user",
      "essential": false,
      "additionalProperties": []
    },
    {
      "name": "extensionAttribute2",
      "source": "user",
      "essential": false,
      "additionalProperties": []
    }
    // 按需添加其他需要的extensionAttribute字段
  ]
}
  1. 完成属性映射授权:
    • 进入Azure AD应用注册页面,选中你的应用,进入「令牌配置」>「添加可选声明」,选择ID令牌类型,勾选需要的extensionAttributeX字段后保存。
    • 批量操作可使用PowerShell命令:
      Set-AzureADApplicationExtensionProperty -ObjectId <你的应用ObjectID> -ExtensionPropertyNames @("extensionAttribute1", "extensionAttribute2")
      
  2. 重新发起OIDC授权请求,新获取的id_token中就会包含指定的extensionAttributeX声明。

关键注意事项

  • 如果使用的是自定义扩展属性(非默认15个extensionAttribute),需先在Azure AD中注册该自定义属性,再执行上述配置。
  • 确保应用已获得User.Read权限并完成管理员同意,否则无法读取用户目录属性。
  • 若属性值过长或包含特殊字符,可能无法嵌入id_token,此时仍需单独调用Graph API获取数据。

备选方案

如果上述配置无法生效(比如属性类型不支持嵌入id_token),则必须单独调用Graph API https://graph.microsoft.com/v1.0/me?$select=onPremisesExtensionAttributes 获取目标数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:38:31