Azure AD访问令牌中的scp声明

问题描述 投票:0回答:2

我正在使用OAuth2开发Azure AD的通信流程。所以,我正在测试两个流程:

 - Credentials Flow
 - Authorization Code Flow

一切正常,除了一件事:访问令牌中的范围/权限(scp)。

当我使用授权代码流请求访问令牌时,我有很多声明,而且对我的业务非常重要:scp。此声明包含Azure门户中配置的所有范围。

但是,当我使用客户端凭据流时,此“scp”声明不会返回,我无法检查生成的此Access令牌是否可以访问资源服务器中的端点。

不知道怎么解决这个问题?

oauth-2.0 azure-active-directory
2个回答
0
投票

看看这两个链接。看起来您在客户端凭据流中是正确的scp声明不可见

Getting the access token for Microsoft Graph API

https://joonasw.net/view/defining-permissions-and-roles-in-aad


1
投票

this question的答案很好地解释了为什么它不起作用。

由于没有重定向(没有涉及用户),因此不返回scp声明。您的问题的解决方案是使用应用程序角色。

使用client_credentials流获取OAuth2令牌时,请确保传递资源参数并使用应用程序的appId将其填充到清单中。

© www.soinside.com 2019 - 2024. All rights reserved.