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

如何将Azure AD OAuth登录用户与本地Active Directory账号匹配

Azure AD OAuth登录用户匹配本地AD用户实现方案

最优解决方案(无需额外配置)

你拿到的Azure AD访问令牌中已经包含了可直接用于匹配的字段:onprem_sid。该字段是Azure AD Connect同步工具将本地AD用户同步至云端时自动携带的属性,取值与本地AD用户的objectSid(安全标识符)完全一致,是官方默认的跨端匹配凭据。
你只需直接提取令牌中的onprem_sid值,到本地AD中查询objectSid属性等于该值的用户即可完成匹配,全程不需要依赖UPN或者云端objectId,准确性100%。
示例中你提供的令牌对应onprem_sid值为:S-1-5-21-4559353447-1638600113-3447510865-117118,直接用该值作为筛选条件查询本地AD即可匹配到对应用户。

备选适用方案

如果特殊场景下令牌未返回onprem_sid字段,可选择以下两种方案:

  • 方案一:修改Azure AD应用的声明发布规则,将Azure AD用户属性中的onPremisesImmutableId加入访问令牌返回值。该属性是本地AD用户objectGUID经过Base64编码后的结果,也是Azure AD Connect同步的核心锚点。你拿到该值后解码为原始GUID,到本地AD匹配objectGUID属性即可。
  • 方案二:给你的应用分配Microsoft Graph的用户读取权限,先提取令牌中的oid(即Azure AD用户objectId),调用Graph接口查询该用户的onPremisesSecurityIdentifier或者onPremisesImmutableId属性,再到本地AD做匹配。

额外说明

你提到的Azure AD objectId无法在本地AD找到对应字段属于正常情况,该ID是云端生成的唯一标识,默认不会同步到本地AD,若有需要可自行配置Azure AD Connect自定义同步规则,将该值同步到本地AD的自定义扩展属性中,但匹配场景下无需做额外改造,上述方案已覆盖需求。


内容的提问来源于stack exchange,提问作者Ace of Spade

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:45:08