Azure AD获取client secret id及通过oid查询服务主体信息咨询
Azure AD客户端凭证流令牌相关问题解答
问题1:使用令牌发起API请求时,接收方如何识别对应Azure门户「Certificates & secrets」板块的client secret id
- 默认Azure AD签发的客户端凭证流访问令牌中不会包含具体的client secret ID,令牌内置的声明仅能标识应用身份(比如
appid对应应用注册的客户端ID、oid对应服务主体对象ID),接收方只能判断请求来自哪个应用,无法直接感知生成令牌时使用了哪个client secret。 - 如果你有溯源secret使用的需求,需要在自己的认证服务侧补充日志逻辑:请求令牌时将本次使用的client secret ID、返回令牌的
jti(JWT唯一标识声明)做关联存储,后续需要排查时可通过日志匹配对应关系。
问题2:如何通过令牌中的oid获取非人类用户的相关信息
- 客户端凭证流返回的令牌中
oid对应的是企业应用(服务主体)的对象ID,而非应用注册的对象ID,这是你在应用注册列表中无法搜索到对应ID的核心原因。 - 你可以通过以下两种方式查询对应信息:
- Azure门户查询:进入「Azure Active Directory」服务,左侧菜单选择「企业应用」,在顶部搜索框直接输入
oid的值,搜索结果即为对应的服务主体,点击即可查看其所有配置、权限、关联应用注册等信息。 - Azure CLI查询:执行命令
az ad sp show --id <替换为你的oid值>可直接返回该服务主体的完整属性数据。
- Azure门户查询:进入「Azure Active Directory」服务,左侧菜单选择「企业应用」,在顶部搜索框直接输入
内容的提问来源于stack exchange,提问作者Januka samaranyake
相关产品推荐
相关产品推荐

