首页 新闻 会员 周边 捐助

为什么要用jwt做登录

0
悬赏园豆:5 [已解决问题] 解决于 2022-10-12 11:01

看到好多前后端分离项目用jwt做登录,但是jwt无法续期与注销,这就不得在服务端去储存吗、,这样的话也可以不用jwt,直接将业务信息用json字符串,生成对应的一个唯一id,然后用id做token也可以的啊

灬丶的主页 灬丶 | 初学一级 | 园豆:3
提问于:2022-09-29 11:47
< >
分享
最佳答案
0

采用过你所说的类似方案,这是可行的。是否使用jwt得看公司的架构怎么想的

收获园豆:2
mowen285 | 小虾三级 |园豆:674 | 2022-09-29 15:32
其他回答(3)
0

常见的登录实现方式

  • cookie

1)用户登录认证之后,将用户信息保存在本地浏览器中cookie(还可以设置过期时间),

2)后面每次发起http请求,都自动携带上该信息,就能达到认证用户,保持用户在线。

  • cookie+session

1)用户登录成功之后,在服务端就会生成一个键值对。key叫做sessionid,value就保存ssession(用户信息),客户端那边就需要把sessionid存储到cookie。

2)后续的http请求会携带上sessionid,服务器就根据sessionid来查找对应的信息。

  • token

1)用户登录成功之后,token 由服务器本身根据算法生成后下发给客户端,服务器端无需额外存储。

2)客户端请求服务器时,在请求头中追加携带该token

3)服务器端对token进行验签,从而决定本次访问是拒绝还是放行。
4)jwt

收获园豆:1
楠木大叔 | 园豆:2083 (老鸟四级) | 2022-09-29 12:37
0

可能session不稳定,cookie不安全

收获园豆:1
LiveCoding | 园豆:502 (小虾三级) | 2022-09-29 15:58
0

jwt你可以在每次请求的时候拦截,重新生成一个新的进行续期。jwt可以实现单点登录

收获园豆:1
夏未回憶 | 园豆:210 (菜鸟二级) | 2022-09-30 14:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册