Microsoft Graph API - 删除应用程序权限的新委派权限

key*_*one 2 azure-active-directory microsoft-graph

我正在将v1 Azure AD身份验证URL(/common/oauth2/authorize)用于需要的多租户应用程序admin_consent.

我试图添加一个新范围Directory.AccessAsUser.All.当我的所有其他作用域都是"应用程序"级别权限时,这是我要求的第一个"委托"权限​​.

当我添加新的委派范围并提示管理员重新同意时,其他范围从返回的AccessToken和响应scope参数中消失.只Directory.AccessAsUser.All存在于该access_token scp领域.

这种行为会发生什么原因吗?我很肯定我们正在推广admin_consent并且管理员是同意的.

Mar*_*eur 5

将指定的范围scp取决于您用于获取令牌的OAUTH流.您不能拥有access_tokenDelegated Application范围的单个.

  • 使用Client Credentials flow(client_credentials)时应用应用程序范围.

  • 使用授权代码或隐式流(authorization_codeimplicit)时,将应用委派范围.

更新:我写了一篇关于这个主题的更深入的帖子,可能会帮助那些面临类似问题的人:应用程序与委托范围.