jwt token 和 传统 session 相比,究竟,分别在什么场景有什么优势 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qq5745965425
V2EX    问与答

jwt token 和 传统 session 相比,究竟,分别在什么场景有什么优势

  • &nbs;
  •   qq5745965425 2016-08-12 16:57:36 +08:00 11098 次点击
    这是一个创建于 3350 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉有必要研究下 jwt

    网上了解了一下

    假设我的环境如下:

    https 加密全站

    api 服务于 app 和 web

    我的理解目前如下:

    如果 api 返回数据给浏览器,用 session 没有问题。 如果要返回数据给 app ,那么 app 不支持 cookies ,就可能无法授权获取数据。

    然后我的疑问大概如下:

    1.听说用 session 会浪费服务器的内存?好像是说 session 存在服务器内存(数据库)里

    2.jwt 和 session 的差距难道只是适用的平台不同吗?( web 和 app )

    3.jwt 传送的数据如何防止串改?比如我要修改 id 为 1 用户的 name 为 123 ,假如对方嗅探到了 jwt ,他解码后修改,重新打包加密传送给服务器不行吗?因为这个数据也是我本地生成的,那么应该可以伪造才对呀?或者在这之前,服务器和客户端已经约好了另外一个密钥?

    4.jwt 数据传送给服务器,服务器要解密,解密过程会浪费服务器性能,相比用 cookie ,是不是更容易遭受 cc 攻击?

    能告诉我,你选择 jwt ,而不是选择 session 的理由吗?

    谢谢

    8 条回复    2017-03-07 23:19:55 +08:00
    wecoders
        1
    wecoders  
       2016-08-12 17:26:58 +08:00   1
    说几点,不针对问题答复
    1 、 JWT 的密串是服务端生成的
    2 、中间人修改密串后,服务端会校验不过
    3 、 JWT 也可以用 cookie

    JWT 是无状态的
    qq5745965425
        2
    qq5745965425  
    OP
       2016-08-12 17:34:52 +08:00
    @wecoders 谢谢, 冒昧再次请问, jwt 秘串,是每次随机生成吗,还是整个网站开始运行的时候只初始化运行一次呢
    wecoders
        3
    wecoders  
       2016-08-12 17:36:23 +08:00   1
    @qq5745965425 登录的时候,也可以定期 refresh
    qq5745965425
        4
    qq5745965425  
    OP
       2016-08-12 17:41:51 +08:00
    @wecoders 哦哦谢谢,每次登录都随机生成一个密串,那么这个密串服务器也会存一份是吗
    franklinyu
        5
    franklinyu  
       2016-08-13 00:13:23 +08:00   1
    应用不支持 cookies ?至少 iOS 是支持的
    franklinyu
        6
    franklinyu  
       2016-08-13 00:16:58 +08:00   1
    而且 JWT 为什么会被篡改?不是已经有 HTTPS 了么
    qq5745965425
        7
    qq5745965425  
    OP
       2016-08-13 09:57:40 +08:00
    @franklinyu 谢谢
    avatasia
        8
    avatasia  
       2017-03-07 23:19:55 +08:00
    翻个老贴, jwt 非常尴尬.
    无 session, 分布式, 无存储,但是要想正常使用,必须加数据库配合, 跟 cookie-session 的机制没啥区别, session 也可以无 cookie.

    sessionless 跟 stateless 是两个概念.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     928 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 20:51 PVG 04:51 LAX 13:51 JFK 16:51
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86