我正在将v1 Azure AD身份验证URL( /common/oauth2/authorize
)用于需要 admin_consent
的多租户应用 .
我试图添加一个新范围 Directory.AccessAsUser.All
. 它是第一个'delegated'权限我'm requesting when all my other scopes are '应用程序'级别权限 .
当我添加新的委派范围并提示管理员重新同意时,其他范围从返回的 AccessToken
和响应 scope
参数中消失 . access_token
scp
字段中仅存在 Directory.AccessAsUser.All
.
Is there any reason this behavior would occur? 我很肯定我们正在推广 admin_consent
并且管理员是同意的 .
1 回答
scp
中指定的范围取决于您用于获取令牌的OAUTH流 . 您不能拥有一个包含Delegated和Application范围的单个access_token
.使用客户端凭据流(
client_credentials
)时应用应用程序范围 .使用授权代码或隐式流(
authorization_code
或implicit
)时应用委派范围 .更新:我写了一篇关于这个主题的更深入的帖子,可能会帮助那些面临类似问题的人:Application vs Delegated Scopes .