首页 > 解决方案 > PUT 请求与 Angular 一起使用,但与 Postman/Insomnia 一起返回 401

问题描述

所以不久前我能够创建登录、注册、编辑用户并获取所有用户功能。这些工作正常,因为我能够注册用户。登录他们,然后编辑这些凭据。当然,一些 JWT 令牌用于身份验证。我在 Postman 上使用 API 调用来编辑当前用户: PUT Request

直到最近,这一直很好,即使我将 Bearer 令牌添加到 Authorization 标头,我仍然会收到“401 Unauthorized”错误。当我使用 Insomnia 尝试相同的请求时,也会发生这种情况。我使用 Angular 作为前端,它的服务仍然可以正常工作,因为我能够登录和注册用户。在邮递员/失眠症中,我只能登录并获取不记名令牌。链接到 /users/ 的所有其他 POST/GET 请求不再起作用。

其他 GET 请求工作正常并返回 200 响应。

这是 PUT 请求的输出:

PUT /users/11 HTTP/1.1 

授权:承载 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjkiLCJuYmYiOjE1OTA2NTUxMjcsIGCmV4cCI6MTU5MTI1OTkyNywiaWF0IjoxNTkwNjU1MTI3fQ.eYd4oUpE7i4PXBymaBgib284iQN_v

内容类型:应用程序/json

用户代理:PostmanRuntime/7.25.0

接受:/

缓存控制:无缓存

邮递员令牌:cea6f9a6-46bb-41b1-a711-7fc1f8886858

主机:本地主机:5000

接受编码:gzip、deflate、br

连接:保持活动

内容长度:29

{“密码”:“Eskimo_321”}

HTTP/1.1 401 未经授权

传输编码:分块

服务器:Microsoft-IIS/10.0

WWW-认证:承载

X-Powered-By: ASP.NET

日期:格林威治标准时间 2020 年 5 月 28 日星期四 09:38:10

标签: restpostmaninsomnia

解决方案


发现了问题,重建了我的项目并忘记添加:

app.UseAuthentication();

在 Startup.cs 文件上。除登录和注册路由外,所有路由都需要授权。


推荐阅读