gpt4 book ai didi

angularjs - (NodeJS/AngularJS) 使用 'x-auth' token 向服务器发送请求,但 token 似乎在预检中丢失(尽管没有错误)

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:29 25 4
gpt4 key购买 nike

背景

我有一个简单的 NodeJS 服务器托管在 localhost/Heroku 上,它处理 JWT 身份验证,以便将数据添加到注册用户以及其他(不相关)的事物中。

这是 GitHub:https://github.com/mlee93dev/pw-keychain-server

我在 localhost/Heroku 上还有一个用于此服务器的简单 Angular2 客户端:

https://github.com/mlee93dev/pw-keychain-app

目前,出于开发目的,我在服务器中将 JWT 访问 token 配置为仅持续 5 秒。

我已按照我所知配置了 CORS 内容,如 server.js 中所示:

CORS配置图 CORS configuration pic

问题

在 Postman 上,我测试了 POST 请求,并得到了预期的响应 - JWT 过期错误:

postman 发布图片 Postman POST pic

但是,我在客户端上没有得到相同的响应 - 相反,我收到“必须提供 JWT”错误:

客户发帖图片 Client POST pic

正如您在上图中看到的,我知道我在 console.log 时实际上附加了一个 token 。这是代码的图片:

客户端POST代码图片 Client POST code pic

所以更让我困惑的是我的 DELETE 请求(用于注销)也实现了相同的 x-auth token 来请求代码,并且它在 Postman + 客户端中都有效,如下所示:

删除错误响应 DELETE error response

删除代码 DELETE code

是的,我很困惑。我的猜测是我必须更多地配置我的 CORS,以允许 POST 请求上的 x-auth header 以某种方式特定?即使我认为它应该已经使用我当前的配置来做到这一点。

最佳答案

您在发布请求中提供正文而不是 header 。 Angular POST request

因此,在您的帖子请求中只需执行以下操作

this.http.post(yoururl, {},{headers:new Headers({'x-auth':token})})...它应该可以工作。

关于angularjs - (NodeJS/AngularJS) 使用 'x-auth' token 向服务器发送请求,但 token 似乎在预检中丢失(尽管没有错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50920675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com