反应和护照丢失令牌

时间:2018-01-27 00:09:38

标签: reactjs cookies react-redux passport.js axios

我正在构建一个使用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

enter image description here

1 个答案:

答案 0 :(得分:0)

显然,axios包没有正确发送标头以便与passport一起使用,因为passport令牌守卫正在寻找X-CSRF-TOKEN,但{{{ 1}}发送X-XSRF-TOKEN。 为了解决我的问题,我改为使用这个包来执行我的请求whatwg-fetch,就像一个魅力。 我希望这将有助于将来遇到同样问题的任何人。