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

Azure AD中通过用户ID(对象ID)获取用户名的替代方案咨询

解决Azure AD用户ID解析为用户名的替代方法

以下几种方法可以替代复杂的On-Behalf-Of流程:

  • 认证时直接存储用户名
    用户登录后获取的ID令牌中,本身就包含name、preferred_username这类用户名相关字段。在API验证令牌的环节,直接把这些字段和用户对象ID一起存入数据库,后续需要用户名时直接从本地数据库读取即可,完全不用调用Microsoft Graph。
    注意:必须严格验证ID令牌的合法性(签名、发行方、受众等),确保这些字段的可信度。

  • 用客户端凭据调用Microsoft Graph
    放弃On-Behalf-Of流程,给你的API应用注册添加User.ReadBasic.All权限(比User.Read.All权限范围更小,更安全),然后通过客户端凭据流程获取Graph访问令牌,直接调用GET /users/{objectId}接口获取用户名。
    这个流程配置简单,只需要应用权限,不需要依赖用户上下文,调用逻辑也更直接。

  • 借助内部同步系统查询(限企业内部场景)
    如果你的企业有本地AD与Azure AD同步的架构,可以直接从本地AD或者同步后的内部数据库中查询用户ID对应的用户名,这种方式适合已经有内部数据同步链路的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:15:31