【发布时间】: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