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

如何在Azure Active Directory令牌声明中添加组织架构信息?

Azure AD令牌中嵌入组织架构(CFO信息)的实现方法

当然有可行的实现方式,以下是几种落地方案:

1. 自定义属性 + 令牌声明映射

  • 第一步:在Azure AD中为用户添加自定义扩展属性(比如命名为cfo),把Francis Jefferson的用户UPN或ID填入Roary Moody的这个属性字段。
  • 第二步:在你的企业应用或Azure AD B2C策略中配置令牌转换规则,将这个自定义属性映射为令牌的声明。
    • 用PowerShell配置应用可选声明的示例:
      Set-AzureADApplication -ObjectId <你的应用程序ID> -OptionalClaims @{
          idToken = @(
              @{
                  Name = "extension_<你的租户ID>_cfo"
                  Source = "user"
                  Essential = $true
                  AdditionalProperties = @("emit_as_claims")
              }
          )
      }
      
    配置完成后,用户登录时令牌里就会包含extension_xxx_cfo声明,值就是CFO的信息。

2. 登录后通过Microsoft Graph API实时获取

如果不想修改令牌结构,可以在用户登录成功后,让应用调用Microsoft Graph API遍历用户的上级关系,直到找到CFO:

  • 先调用/me/manager获取直接上级,再递归调用该接口,直到返回的用户拥有CFO相关的角色或属性。
  • 示例Graph请求:
    GET https://graph.microsoft.com/v1.0/me/manager
    
    这种方式需要给应用申请User.Read.All权限,同时建议做缓存避免重复请求。

3. 基于Azure AD角色的间接判断

如果Francis Jefferson被分配了自定义CFO角色,可以:

  • 在Azure AD中创建CFO自定义角色,分配给对应用户。
  • 配置应用的可选声明,将roles声明包含在令牌中。
  • 应用端通过调用Graph API获取当前用户的上级链,检查其中是否有拥有CFO角色的用户。

关键注意点

  • 自定义属性方案需要维护用户数据的准确性,人员变动时要及时更新属性值。
  • 令牌映射需要确保应用有读取自定义属性的权限。
  • Graph API方案要处理权限申请和缓存逻辑,减少API调用开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 11:10:07