生成的 token 值为啥在过期时间内不一样呢?

问答 stefen ⋅ 于 2个月前 ⋅ 最后回复由 liyu001989 1周前 ⋅ 358 阅读

我用命令脚本为ID为1的用户生成token为啥在过期时间内多次生成的token的后缀不一样呢?
file

本文章首发在 Laravel China 社区
成为第一个点赞的人吧 :bowtie:
回复数量: 4
  • liyu001989 MOD
    2个月前

    你可能没理解什么是 JWT,每个 token 都是独立的,当然不一样了

  • Pepsi丶 1
    2个月前

    这里需要理解一下 JWT 的过期和刷新机制,过期很好理解,超过了这个时间,token 就无效了。刷新时间一般比过期时间长,只要在这个刷新时间内,即使 token 过期了, 依然可以换取一个新的 token,已达到应用长期可用,不需要重新登录的目的。
    为什么要刷新 => 任何一个永久有效的 token 都是相当危险的,通过任意方式泄露了 token 之后,用户的相关信息都有可能被利用。所以为了安全考虑,任何一种令牌的机制,都会有过期时间,过期时间一般也不会太长。

    你所做的操作相当于刷新了token, 当然是一个独立的新值, 不然刷新的意义就没有了啊 :sweat_smile:

  • youxia
    1周前

    @liyu001989 意思是同一个用户其实可以有多个 token的对吗,只要token在有效期内都可以使用。 还是说同一个用户在生成一个新的token时,自动销毁了旧的token,不管旧的有没有过期。

  • liyu001989 MOD
    1周前
暂无评论~~
您需要登陆以后才能留下评论!

Composer 中国全量镜像

Top 100 扩展包

Lumen 中文文档

Laravel 速查表

Laravel 中文文档

Laravel 项目开发规范

Laravel 开发环境部署

Elasticsearch-PHP 中文文档

Lumen 中文文档

GraphQL PHP 中文文档

社区文档撰写指南

TDD 构建 Laravel 论坛笔记

PHP PSR 标准规范

PHP 设计模式全集

Dingo API 中文文档