在登录后我把token存放在cookie中
但是token那边是有有效期的,我在cookie设置的有效期和后端设置的有效期不一致,导致有时候cookie没过期结果token过期了。
所有各位大神你们一般都是把token存放在哪里呢?还有我这个问题一般怎么解决。
在登录后我把token存放在cookie中
但是token那边是有有效期的,我在cookie设置的有效期和后端设置的有效期不一致,导致有时候cookie没过期结果token过期了。
所有各位大神你们一般都是把token存放在哪里呢?还有我这个问题一般怎么解决。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
token
是否过期,应该后端接口中来判断,不该前端来判断,因为用户拿到一个token
,然后一直在用这个token
,而你在用户登录的时候就设置了过期时间,这样是不准的。我建议,把
token
存在cookie
上,不设置过期时间,如果token
失效,就让后端在接口中返回固定的状态表示token
失效,需要重新登录,再重新登录的时候,重新设置cookie
中的token
就行。js
创建cookie
是用document.cookie = 'token=221212fsfsfafas'
这里有个更方便的方法,也是更安全的。
让后端在接口的返回值
header
里添加set-Cookie
,这样的话浏览器会自动把token
设置到cookie
里。还有,如果接口的返回值
header
里有设,Http-Only: true
的话,js
里是不能直接修改cookie
的,这样更安全点。