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

仅持有访问令牌时,如何获取Service Principal的相关信息?

仅用访问令牌获取Service Principal信息的方案

方案1:解析JWT令牌提取核心信息

访问令牌本身是JWT格式,无需调用API就能拿到基础信息:

  • 将令牌按.分割为三段,取中间的Payload部分
  • 对Payload进行Base64URL解码,得到的JSON里包含appid(应用ID)、displayname(显示名称)、oid(Service Principal对象ID)、roles(已分配角色)等关键字段
  • 注:绝大多数场景下令牌是签名而非加密的,直接解码即可;若为加密令牌,需用对应密钥解密(这种情况极少)

方案2:调用Microsoft Graph查询完整信息

如果需要更详细的配置信息(比如关联应用、权限设置等),用令牌调用以下Graph接口:

  • 精准查询:GET /servicePrincipals/getByAppId('{appId}'),其中{appId}是从令牌Payload里拿到的appid值,直接返回对应Service Principal的全量数据
  • 筛选查询:GET /servicePrincipals?$filter=appId eq '{appId}',效果与上一接口一致
  • 注意:调用这些接口需要访问令牌拥有Application.Read.All或Directory.Read.All权限,具体根据你需要的信息范围选择

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 08:09:57