如何增加Laravel Sanctum生成的Token长度
Laravel Sanctum 调整Token长度为240位配置方案
前提说明
Laravel Sanctum 默认生成的明文Token随机部分长度为40位,仅需自定义生成逻辑即可调整长度,无需修改personal_access_tokens表结构(该表存储的是Token的SHA256哈希值,固定为64位,不受明文长度影响)。
操作步骤
- 第一步:确保你的Sanctum版本不低于
v2.15.0,低于该版本需先执行升级命令:composer update laravel/sanctum - 第二步:打开项目下的
app/Providers/AppServiceProvider.php文件,在boot方法中添加自定义生成逻辑:
首先在文件顶部引入Sanctum门面:
然后在use Laravel\Sanctum\Sanctum;boot方法内添加代码:public function boot() { // 其他原有boot逻辑保留 Sanctum::generateTokenUsing(function () { // 生成240位随机字母数字字符串 return \Illuminate\Support\Str::random(240); }); } - 第三步:配置完成后正常调用
createToken方法生成Token即可,返回的Token格式为{tokenID}|{240位随机串},符合你要求的效果。
注意事项
- 自定义生成逻辑后,原有已生成的Token不受影响,仍可正常使用
Str::random方法生成的字符串为大小写字母+数字组合,和Sanctum默认生成的Token字符集完全一致,兼容性无问题
内容的提问来源于stack exchange,提问作者Bhargav
相关产品推荐
相关产品推荐

