带有AAD的Swaggerbuckle - 错误AADSTS500013:未提供资源标识符

问题描述 投票:0回答:1

我正在尝试使用AzureAD来获取swagger中的令牌并使用它来测试我的.netCore2.1 API。(使用Swashbuckle.AspNetCore 4.0.1)

为此,我完成了以下步骤

1. Created a Web API project(asp.net Core2.1)
2. Register an Azure AD (AAD) app for the Web API
3. Updated the Web API project to use Azure AD authentication
4. Register an AAD app for the Swagger web site          https://localhost:5001/swagger
5. Granted permissions for the Swagger AAD app to access the Web API AAD app
6. Generated a Client Secret for the Swagger AAD app
7. Enabled OAuth2 implicit flow on the Swagger AAD app
8. Added Swagger to the Web API project

当我进行身份验证时,我收到以下错误。

错误AADSTS500013:未提供资源标识符。

enter image description here

当我点击授权

enter image description here

我收到错误AADSTS500013:未提供资源标识符。

enter image description here

我的Web API项目qazxsw poi

请帮助我了解我在这里缺少哪个资源标识符或如何解决此错误。

或者有关如何将Swaggerbuckle与ASP.NET Core webAPI一起使用的任何指针,特别是对于经过AAD身份验证的WebAPI?

更新

我从azure portal复制了我的webAPI的APPID URI。即仪表板>> Microsoft - 应用程序注册>> MY_API_APP >>设置>>属性>>应用程序ID URI

tartup.cs file goes here

但是当我尝试进行身份验证时,我仍然遇到同样的错误

错误AADSTS500013:未提供资源标识符

azure-active-directory asp.net-core-webapi swagger-ui asp.net-core-2.1
1个回答
0
投票

使用Azure AD V1.0应用程序,您需要设置here以识别在身份验证和访问令牌请求期间要访问的API:

代码流程:

resource

隐含流量:

https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-oauth-code

在Swashbuckle.AspNetCore 4.0.1中,如果要获取用于访问web api的访问令牌,则需要将https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-oauth2-implicit-grant-flow配置为参数:

resource
© www.soinside.com 2019 - 2024. All rights reserved.