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

如何无需执行OAuth交易获取Azure AD OAuth用户的oid/sub值?

Azure AD OpenID集成权限配置问题解答

关于提前获取oid/sub的可行性

不行,oid(Azure AD全局用户唯一ID)和sub(用户与当前应用的唯一关联ID)都是Azure AD在用户完成OAuth认证流程后,才会生成并包含在访问令牌中的字段。没有执行实际的OAuth交易(即用户完成登录认证),Azure AD不会向第三方应用返回这些用户标识值,所以没法提前获取来做权限配置。

替代解决方案

如果要让非技术管理员能轻松配置权限,推荐以下两种思路:

  • 用易识别属性映射权限:在后端收到访问令牌后,调用Azure AD的userinfo接口或令牌 introspection 接口,获取用户的易识别属性(比如用户名、邮箱、显示名称、userPrincipalName等)。将这些管理员易懂的属性作为权限配置的标识,同时在后端数据库中建立这些属性与oid/sub的映射关系。管理员配置时只需选择用户的邮箱或用户名,后端自动关联到对应的oid/sub来做权限校验。
  • 直接从Azure AD拉取用户列表:给管理员的前端配置一个用户搜索/选择功能,后端调用Azure AD的用户查询接口,直接拉取Azure AD中的用户列表并展示易识别属性。管理员选中用户后,后端自动获取该用户的oid/sub并存储到权限配置中,全程不用管理员接触技术标识。

另外补充:如果用易识别属性做配置标识,优先选userPrincipalName,它是Azure AD中用户的唯一登录名,比普通邮箱更可靠,避免出现邮箱重复的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 04:37:02