Laravel jwt 的参数设置逻辑貌似有点小问题

分享 kevin2011 ⋅ 于 1周前 ⋅ 42 阅读

jwt中定义了token的有效时间ttl(官方默认是1个小时),token的有效刷新时间refresh_ttl(官方默认是2周),假如现在生成某个token,那么:
一个小时内 : token可以正常使用
一个小时外,两周内: 解析token会抛出异常token过期,需要人为捕获异常再去刷新token(即重新生成token)返回
两周外 : 解析token抛出异常token过期,捕获异常去刷新token抛出无法刷新异常。
从上可知,
token的有效时间ttl < tokentoken的有效刷新时间refresh_ttl,
刷新前提是捕获解析token时抛出的过期异常。

为什么不反过来这么设置:
token的有效时间ttl > tokentoken的有效刷新时间refresh_ttl,
即设置ttl为2周,refresh_ttl为1个小时,那么:
一个小时内 : token可以正常使用
一个小时外,两周内:解析token时,token没有过期,但是需要刷新,并返回刷新后的token
两周外:解析token时,抛出token过期的异常

本文章首发在 Laravel China 社区
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    您需要登陆以后才能留下评论!

    Composer 中国全量镜像

    Top 100 扩展包

    Lumen 中文文档

    Laravel 速查表

    Laravel 中文文档

    Laravel 项目开发规范

    Laravel 开发环境部署

    GraphQL PHP 中文文档

    社区文档撰写指南

    TDD 构建 Laravel 论坛笔记

    PHP PSR 标准规范

    PHP 设计模式全集

    Dingo API 中文文档