我正在构建一个使用API与另一台服务器通信的反应应用。 API调用正在使用axios,但在后端的护照身份验证上仍然失败。 使用Postman进行身份验证,它可以与react应用程序一起工作,res.isAuthenticaded的值为false。 这是使用邮递员
到达服务器的值[Node] req session--> Session {
[Node] cookie:
[Node] { path: '/',
[Node] _expires: null,
[Node] originalMaxAge: null,
[Node] httpOnly: true },
[Node] passport: { user: '5a6a04f017589a97237dc9df' },
[Node] returnTo: '/user/account' }
[Node] req session id--> a9uTD17j9fnPUYHd4srsfmvSfW6G3JZQ
[Node] isAuthenticated--> true
[Node] GET /user/account 200 210.616 ms - 54
这是使用react app的价值
Node] req session--> Session {
[Node] cookie:
[Node] { path: '/',
[Node] _expires: null,
[Node] originalMaxAge: null,
[Node] httpOnly: true },
[Node] returnTo: '/user/account' }
[Node] req session id--> 2cWySg06ZZuozdS4nklfnd-8H5iPYDsC
[Node] isAuthenticated--> false
[Node] GET /user/account 403 56.948 ms - 28
答案 0 :(得分:0)
显然,axios
包没有正确发送标头以便与passport
一起使用,因为passport
令牌守卫正在寻找X-CSRF-TOKEN,但{{{ 1}}发送X-XSRF-TOKEN。
为了解决我的问题,我改为使用这个包来执行我的请求whatwg-fetch,就像一个魅力。
我希望这将有助于将来遇到同样问题的任何人。