You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Sanctum配置token过期时间后不生效问题咨询

问题修复方案
  • 清理配置缓存
    Laravel会自动缓存配置文件内容,修改sanctum.php后未清理缓存的情况下配置不会生效,先执行命令清理缓存:
    php artisan config:clear
    如果是生产环境,清理后可重新生成配置缓存:
    php artisan config:cache
  • 确认令牌生效范围
    expiration配置仅对配置生效后新生成的个人访问令牌有效,修改配置前已经生成的旧令牌不会自动过期,需要先调用登出接口删除旧令牌,重新登录生成新令牌后再测试过期效果。
  • 检查环境变量是否覆写配置
    打开config/sanctum.php查看expiration配置行,默认配置会通过env函数读取环境变量:
'expiration' => env('SANCTUM_EXPIRATION', null),

如果配置中用到了SANCTUM_EXPIRATION环境变量,需要检查项目根目录.env文件是否存在该配置项,若存在且值为null,直接修改.env对应值为1,再清理缓存即可生效。

  • 校验令牌类型适配
    expiration配置仅作用于调用createToken生成的个人访问令牌,不会修改同域第一方会话的生命周期。如果你的应用是同域前后端项目,走session cookie校验身份,需要修改config/session.php中的lifetime参数调整会话过期时间。
  • 验证数据库字段校验
    生成新令牌后,查看数据库personal_access_tokens表的expires_at字段,确认新生成的令牌是否正确写入了过期时间(当前时间+1分钟),如果字段值正确说明配置已正常生效。

内容的提问来源于stack exchange,提问作者Weronika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:06:03