【发布时间】:2020-08-06 18:39:39
【问题描述】:
我在 dotnet 核心中有一个自定义 Web API,我使用 [Authorize(Policy = "Admin")] 保护了 Web API。
我已经使用 App Registration 在 Azure AD 中注册了 Web api。我创建了两个应用程序角色“管理员”和“客户”。
我有一个控制台应用程序,它使用 Azure 中的应用程序注册在 Azure AD 中注册为客户端。
现在,当我使用范围请求访问令牌时- api://{guid}/.default (所有权限)
请求 OAuth 2.0 令牌端点 (v2) -https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/token
我正在获取访问令牌,并且可以调用我的 web api 方法。但是,当我使用特定范围调用 Web api 时,请说“Admin”范围: api://{guid}/Admin
我收到错误 -
错误:无法完成 OAuth 2.0 令牌请求:“AADSTS70011:提供的请求必须包含“范围”输入参数。输入参数“范围”的提供值无效。范围 api://{guid }/管理员无效
【问题讨论】:
-
对不起,我之前可能提供了一个不清楚的答案。此刻我已经更新了我的答案。如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充。请参阅meta.stackexchange.com/questions/5234/…)。这对其他社区成员可能是有益的。谢谢。
标签: azure asp.net-core-webapi azure-security