我在Visual Studio中创建了一个WebAPI,并选择了Azure身份进行身份验证。运行API时,出现未授权 404错误。
这是我在appsettings.json
文件中看到的。
我应该如何在Azure Portal中解决404错误?
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "myemailmycompany.onmicrosoft.com",
"TenantId": "xxxxxxxx-xxxx-xxxx-xxxx-dcbeeeac82d9",
"ClientId": "xxxxxxxx-xxxx-xxxx-xxxx-ac3f-9a785f72fd83"
}
我已经清除了您描述的问题。根据QuickStart的示例代码(基于核心2.0的MVC项目),它可以正常运行,但是我们在vs 2019的本地创建了一个核心3.0 api项目。它无法正常工作。
我认为问题可能在于mvc和webapi项目的创建有些不同,但是要研究的地方在哪里?
因此,我进行了一些研究。比较示例代码和您自己的代码之间的差异,很遗憾您找不到特定的原因。
因此,我创建了.net core 3.0 mvc项目。控制器使用webapi格式,并且Startup.cs
和Program.cs
文件不需要任何修改。它还可以满足webapi的项目要求并实现功能。您可以在github中下载我的demo code。
您需要在appsettings.json
中进行一些修改,此演示使用核心3.0,因此我建议您使用vs2019打开它。然后,您可以检查WeatherForecastController.cs
,并设置api。
您不能像这样运行项目,因为您没有身份验证令牌或任何东西,因为它没有Web API。
您可能要从这里开始,因为我不确定您使用的是哪个客户端,但这是一个很好的例子。https://github.com/Azure-Samples/active-directory-dotnet-native-aspnetcore-v2/tree/master/1.%20Desktop%20app%20calls%20Web%20API