Sanctum 没办法手动设置过期时间吧?

1. 运行环境

1). 当前使用的 Laravel 版本?

Laravel 9.5.1

2). 当前使用的 php/php-fpm 版本?

8.0.2

2. 问题描述?

之前用 auth-jwt 是可以手动指定过期时间的,比如网站有个记住我的功能。

3. 您期望得到的结果?

在代码里指定过期的时间

4. 您实际得到的结果?

没有找到这个功能。

无论在现实或是网络中,我都是孤独的。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

Sanctum::$accessTokenAuthenticationCallback

// AuthServiceProvider.php

boot(){
    Sanctum::$accessTokenAuthenticationCallback = fn($accessToken, $isValid)=> $this->callYourCallable($accessToken, $isValid)
}
2年前 评论
讨论数量: 21

Sanctum::$accessTokenAuthenticationCallback

// AuthServiceProvider.php

boot(){
    Sanctum::$accessTokenAuthenticationCallback = fn($accessToken, $isValid)=> $this->callYourCallable($accessToken, $isValid)
}
2年前 评论

你说的是 token 生成之后的有效期吗?

config/sanctum.php

'expiration' => env("SANCTUM_TTL", 10080),
'refresh_expiration' => env("SANCTUM_REFRESH_TTL", 43200),
2年前 评论
小李世界 (楼主) 2年前
MArtian (作者) 2年前
小李世界 (楼主) 2年前
王小大 2年前
MArtian (作者) 2年前
王小大 2年前
小李世界 (楼主) 2年前

Sanctum::$accessTokenAuthenticationCallback

// AuthServiceProvider.php

boot(){
    Sanctum::$accessTokenAuthenticationCallback = fn($accessToken, $isValid)=> $this->callYourCallable($accessToken, $isValid)
}
2年前 评论

这个问题解决了 但是我想知道的是这个性能上面的问题怎么解决 能换成redis就完美了

2年前 评论
巴啦啦臭魔仙 2年前
周小云 (作者) 2年前
yybawang

表里有 last_used_at 字段,我是加了个定时任务判断的,超过多久不用就删除了

2年前 评论
小李世界 (楼主) 2年前

代码里面动态修改过期时间
比如记住登录状态后请求里加入标识

if($remember)
{
    //记住登录 设置有效期 3天
    config(['sanctum.expiration' => 60*12*6]);
}
2年前 评论
周小云 2年前
巴啦啦臭魔仙 2年前
小李世界 (楼主) 2年前
echoyl (作者) 2年前

我的是這樣寫的 續期 :joy: 還是翻它的源碼找到的

file

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!