【问题标题】:Access denied when requesting Oauth2 token from Azure AD with Authorization code flow使用授权代码流从 Azure AD 请求 Oauth2 令牌时访问被拒绝
【发布时间】:2021-06-20 22:09:35
【问题描述】:

我们正在开发一个带有前端和后端的应用程序。应该通过带有 OAuth2 令牌的 Rest API 访问后端。授权提供者是 Azure AD。

在 Azure 中,我们创建了 2 个应用注册。一个用于 API,一个用于客户端应用程序。 API 注册定义了 3 个范围(读取、写入、删除)。客户端应用注册已为这些范围委派了权限。

我们正在从客户端应用注册请求带有 clientID 和 clientSecret 的令牌。

当请求某个范围的令牌时,在登录并批准权限授予提示后,我只是收到拒绝访问错误。我的用户是否需要 Azure AD 中的任何其他权限才能授予所请求范围的权限?

作为一种解决方法,我可以将客户端应用程序添加为所有三个范围的 API 注册中的“授权客户端应用程序”。但是,无论我请求的范围如何,所有三个范围都始终在 JWT 中的“scp”下返回,并且用户不再看到权限授予提示。不确定我是否想要这个。我宁愿了解如何解决访问被拒绝的问题。

【问题讨论】:

  • 您的请求范围是什么样的?
  • 例如:api://myApiName/Read。这正是我在“公开 API”下的 API 注册中定义的范围名称

标签: azure oauth-2.0 scope token


【解决方案1】:

我的组织的 AD 租户中似乎不允许用户同意。 (企业应用程序 -> 同意和许可 -> 用户同意设置。)

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 2016-08-29
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 2019-12-10
    • 1970-01-01
    • 2016-12-03
    • 2020-07-05
    相关资源
    最近更新 更多