jwt 的问题

zhanqi123

access_token到期是自动过期呢。还是要服务端用expires_in过期时间去判断?
refresh_token 同问?

1294 3 0
3个回答

Tinywan

都是自动过期的

  • zhanqi123 2022-03-18

    access_token这个自动过期了。 refresh_token是自动生成新的access_token返回给前端? 还是说要后端逻辑去处理。 就是这两个参数没懂清楚原理

  • Tinywan 2022-03-18

    如果 access_token 自动过期了,前端直接使用 refresh_token请求接口重新获取 access_token 。如果 refresh_token也过期了,则直接退出登录,让用户重新登录即可

    • access_token 有效期一般设置为7小时
    • refresh_token 有效期一般设置为一周
  • zhanqi123 2022-03-18

    access_token和refresh_token 过期了。是不是这两个参数的值自动为空了。还是? 请大神解答

  • Tinywan 2022-03-18

    会抛出 JwtTokenException 异常,异常信息是:身份验证会话已过期,请重新登录!

  • leizong 2022-06-28

    那如果用户在用app的时候,access_token和refresh_token同时过期的话,那不意味着这个用户被强制性退出来 ?

  • Tinywan 2022-06-28

    是的,强制退出,重新登录,如果你不想这样子,那就设置过期时间很长很长,不过会存在安全问题

  • leizong 2022-06-28

    我的想法是在刷新token的时候除了返回access_token之外还返回refrsh_token,那样的话就不会出现用户用着用着,突然被强制性退出来了

  • leizong 2022-06-28

    大佬,这边刷新token的时候返回参数不能加一个refrsh_token值吗,还是说加了存在安全隐患,我公司前端这边的人希望在刷新token的时候,除了返回access_token,还希望返回refrsh_token,这样的话,用户就不可能被强制退出来,作者你所说的把过期时间设置很长这显然不合理

  • Tinywan 2022-06-28

    你的这个是不是不符合逻辑,标准的JTW机制基本都是上面这种方式实现。你可以吧refrsh_token设置的足够长就可以了

  • leizong 2022-06-28

    对,我后台将access_token设置7天,refrsh_token设置1个月,那在refrsh_token快要过期的时候,用户正在使用app,首先,access_token过期了,去找refrsh_token刷新access_token,又正好这时候refrsh_token也过期了,那这用户的app用着用着,就直接被弹出来了说你要登录,那这也不合理吧,我们在使用微信,支付宝等app的时候,出现过被强制退出来的情况吗,也没有吧

  • Tinywan 2022-06-28

    感谢反馈

  • 晚安。 2022-07-06

    这个生成的access_token 是存储在哪里,redis还是

  • Tinywan 2022-07-06

    不需要存储

Tinywan

通过 refresh_token 刷新获取 access_token,然后在返回的时候再次同时返回 access_tokenrefresh_token,这个我下来看看。

@leizong 请把你的需求场景详细描述一下

  • leizong 2022-06-28

    在用户登录的时候,返回access_token和refrsh_token,access_token的过期时间我设置1天,refrsh_token的过期时间我设置7天,只要用户在使用app的时候,access_token一过期,就可以用refrsh_token刷新access_token,那我想说的是,如果用户在使用app的时候,正好在refrsh_token快过期的时候使用app,第一,access_token过期,去找refrsh_token,而这时候refrsh_token也正好过期了,那这个用户的app就直接被弹出来说你要登录,一个用户用app好好的,怎么可能被强制弹出来说要登录呢,我希望这个被强制弹出来登录的情况不存在,也就是之前我所说的,在用refrsh_token刷新access_token的时候,除了返回access_token的同时,还希望返回refrsh_token,那么无论这两个token的过期时间设多久,都不会出现被强制退出来登录的情况

  • Tinywan 2022-06-28

    收到,晚点发个版本添加上去哈!

  • leizong 2022-06-28

    好,但是如果这么搞不合理的话你就直接说,比如安全,比如性能等等都可以说,大家都在研究,都在学习

Tinywan

请更新到 composer require tinywan/jwt ^v1.3.0 或者后续更高版本 composer require tinywan/jwt。支持刷新token的时候除了返回access_token之外还返回refresh_token

  • 暂无评论
年代过于久远,无法发表回答
🔝