新创建的 .Net Core 使用 Windows 身份验证提供 HTTP 400

Newly created .Net Core gives HTTP 400 using Windows Authentication

遵循本指南 https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-2.1 我决定在我的 Web API 项目上使用 Windows 身份验证。

启动 .Net Core Web API/Site 我收到 HTTP 错误 400。

使用 Windows 身份验证获取 .Net Core 项目 运行 的技巧是什么?

启动应用程序后,您将在输出中看到 Window:

XYZ.API.Core> Content root path: C:\XYZ.API.Core> Now listening on: http://localhost:29002
XYZ.API.Core> Application started. Press Ctrl+C to shut down.
XYZ.API.Core> fail: Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware[0]
XYZ.API.Core> 'MS-ASPNETCORE-TOKEN' does not match the expected pairing token 'de80437e-f80d-4f7f-b2b0-60f3bc81e9b0', request rejected.

所以您浏览到 http://localhost:29002 并收到 HTTP 400 错误。原因是因为那是错误的 url for Windows Authenticated.

打开属性 > launchSettings.json 文件并注意 IIS 设置和应用程序 Url 使用不同的端口:

{   "iisSettings": {
    "windowsAuthentication": true,
    "anonymousAuthentication": false,
    "iisExpress": {
      "applicationUrl": "http://localhost:55403/",
      "sslPort": 0
    }

浏览到 launchSettings 文件中指定的应用程序Url,例如 http://localhost:55403/api/values returns 预期的 json.