【发布时间】:2023-03-21 07:16:02
【问题描述】:
我正在 ASP.NET Core 3.1 中开发一个使用 JWT 身份验证和授权来确保安全的 Web 服务。我一直在使用 Postman 和 Javascript (axios) 对其进行测试,一切似乎都很好。 但是现在我必须更新一个 .NET 4.6.2 应用程序才能访问这个 web 服务,但不知何故,它总是以状态码 401 'unauthorized' 进行响应,我就是不明白为什么。
最简单的客户端版本如下图:
var request = WebRequest.CreateHttp(@"http://localhost:49767/Information/TestAuthentication");
request.Headers.Add(HttpRequestHeader.Authorization, "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwcm9kdWN0IjpbIjBuR29nVU40amtLd1pVb0xiK2pvMUE9PSIsIjZ0dmFWMHpWU0VLZk1GMDhqL2diRUE9PSJdLCJzdWIiOiJhMWQxNDI2OC1iZmMzLTRiM2EtOGNkNS04NDUyNzhjNWNiMzciLCJleHAiOjE1ODMzMTgwMTcsImlzcyI6IlRlc3QuY29tIiwiYXVkIjoiVGVzdC5jb20ifQ.132BrlZidEUDEBIGK_nNr7Dw50pFyTl15jMGuRwbsts");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode != HttpStatusCode.OK)
throw new Exception(response.StatusDescription);
当我尝试来自 Postman 的完全相同的简单调用时,它会返回一个干净的 status200 代码。
有谁知道我做错了什么??
【问题讨论】:
标签: .net authentication jwt httpwebrequest http-status-code-401