refresh token 的使用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ghjh
V2EX    编程

refresh token 的使用

  •  
  •   ghjh 2024-07-05 09:19:10 +08:00 3181 次点击
    这是一个创建于 528 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想了解下各位是怎么使用 refresh token 的呢。 每次请求的请求头带上它; 还是前端配置定时器,在过期前刷新; 还是验证失败了再用 refresh token 刷新 access token 呢

    15 条回复    2024-09-10 13:56:24 +08:00
    ZZ74
        1
    ZZ74  
       2024-07-05 09:20:02 +08:00
    还是验证失败了再用 refresh token 刷新 access token 呢
    2han9wen71an
        2
    2han9wen71an  
       2024-07-05 09:31:32 +08:00
    我们小程序定时刷新,web 端过期后再刷新
    Blake2Wang
        3
    Blake2Wang  
       2024-07-05 09:40:27 +08:00   2
    后端对于 token 过期返回约定的状态码,前端封装 request 请求工具类,对于 token 过期状态码,做一个 token 无感刷新,具体操作:用 refresh 刷新 token ,把 token 过期的这个请求和刷新过程中的新的请求放到待请求队列中,token 刷新完,把队列中的请求用新 token 去请求
    ghjh
        4
    ghjh  
    OP
       2024-07-05 09:41:28 +08:00
    @ZZ74
    @2han9wen71an

    验证失败再刷新的话,会不会有点影响体验呢。比如用户点击了保存失败了,需要再点一次?
    LuckyLauncher
        5
    LuckyLauncher  
       2024-07-05 09:44:55 +08:00
    @ghjh #4 刷新完 token 后前端再发一次保存接口
    fredweili
        6
    fredweili  
       2024-07-05 09:47:01 +08:00
    refresh 当然不用用户介入,监测到 access 过期了就去 server 拿一个新的,多几个请求稍微慢一点
    2han9wen71an
        7
    2han9wen71an  
       2024-07-05 09:47:39 +08:00
    @ghjh 当 access token 过期后,用户执行操作,我们会弹出一个窗口进行自动续期,续期通过后弹窗自动关闭,然后再次提交一下接口
    ghjh
        8
    ghjh  
    OP
       2024-07-05 09:53:29 +08:00
    @Blake2Wang 这种对异常工况的处理会不会变得复杂呢。
    比如 refresh 失效,网络原因刷新请求没有过来等等
    ghjh
        9
    ghjh  
    OP
       2024-07-05 09:54:36 +08:00
    @2han9wen71an #7 同时有多个请求的 token 过期,也会用 refresh 多次刷新么。
    Blake2Wang
        10
    Blake2Wang  
       2024-07-05 09:59:37 +08:00
    @ghjh 二次封装 request ,这些逻辑写在通用的请求和响应拦截器中,我的博客很久没维护了,你直接搜索一下 token 无感刷新,看一下代码就懂了,随便找了一篇给你 https://blog.csdn.net/weixin_57909742/article/details/134310007
    iamobj
        11
    iamobj  
       2024-07-05 10:01:38 +08:00
    就用 3 楼的方法,如果懒得自己手撸维护请求队列,前端好像有个 alova 请求库,内置了无感刷新 token 的策略
    ghjh
        12
    ghjh  
    OP
       2024-07-05 10:18:19 +08:00
    @Blake2Wang #10
    @iamobj 好的,感谢各位。我了解一下
    ke1e
        13
    ke1e  
       2024-07-05 10:53:17 +08:00
    过期了再重新请求 acess token ,不用维护 refresh token
    stephenxiaxy
        14
    stephenxiaxy  
       2024-07-05 12:22:06 +08:00
    refresh_token 是不应该由三方前端持有的,而是三方后端持有的吧
    jayesslin
        15
    jayesslin  
       2024-09-10 13:56:24 +08:00
    用 access token 请求。
    长票短票都在 redis ? 服务端自动刷新就行 ;
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3209 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 11:19 PVG 19:19 LAX 03:19 JFK 06:19
    Do have faith in what you're doing.
    ubao msn 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