1.首先我的目的是这样的
通过JWT的库生成一个token,token里面有个人信息过期时间这些,那么我们后端就能通过这些来判断用户的token来确定用户是否登陆了。
那么就会有这样一个问题,我们把token存在cookie中。cookie也可以设置时间,这就非常鸡肋,也就是说cookie根本就没有必要设置。。。。就是很简单的把token存再cookie中,然后通过传回来的token来判断用户状态。
还有一个问题就是token的时间刷新问题。第一个生成token设置的时间是固定,如果用户在快过期的时间端,刚整理完购物车要结算的时候,token过期了,那用户不是暴走了。。。
所以我想目前使用JWT生成的token,直接保存在cookie中,然后每次访问网站,后台去读取cookie,然后解析token,
接着就是对token的判断和是不是要刷新token。目前我是这么理解的。。。。。
想问下,是不是这个样子的。。。
下面是个题外话了。。。。假设前端做路由跳转,在相关的页面做了判断cookie是否存在来确定是不是用户登陆了才能进入相关的页面。这样很理想话。
如果有个用户很奇葩,看见自己的cookie,然后就自己创建了一个token,那么前端对cookie名的判断,发现存在一个cookie然后就跳转到可以访问的页面。后端发现这个cookie是对的,然后解析cookie,他妈的发现token是不能解析的,直接报错了。这个时候就很尴尬了,后端可以因为token解析错误给前端的相应的信息,但是他妈的前端就判断cookie是不是存在来让用户进入这些只能登陆才能访问的界面,怎么办呢。。。。。。这个时候是不是前端又要对每个页面进行判断后端接受的信息先。。。。。。这样子前端就变的有点麻烦,不仅要判断cookie是不是有,还要在每个页面判断后端返回的信息。
除了cookie还有其他的保存数据的地方
请求刚好赶上jwt过期理论上也无所谓,做好重新登录 + 重新提交的逻辑就好
前端用cookie直接判断登录不是很可行,每次页面打开都调一次接口判断是否登录也没啥毛病