我正在尝试使用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:未提供资源标识符。
当我点击授权
我收到错误AADSTS500013:未提供资源标识符。
我的Web API项目qazxsw poi
请帮助我了解我在这里缺少哪个资源标识符或如何解决此错误。
或者有关如何将Swaggerbuckle与ASP.NET Core webAPI一起使用的任何指针,特别是对于经过AAD身份验证的WebAPI?
更新
我从azure portal复制了我的webAPI的APPID URI。即仪表板>> Microsoft - 应用程序注册>> MY_API_APP >>设置>>属性>>应用程序ID URI
但是当我尝试进行身份验证时,我仍然遇到同样的错误
错误AADSTS500013:未提供资源标识符
使用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