Laravel Sanctum核心配置文件为config/sanctum.php,需先执行composer require laravel/sanctum和php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"生成,再运行php artisan migrate创建personal_access_tokens表,方可正常使用createToken()。

Laravel Sanctum 的核心配置文件是 config/sanctum.php,它在安装并发布 Sanctum 后才会生成。
配置文件位置
默认路径为:config/sanctum.php
⚠️ 注意:这个文件不会自动存在,必须先执行发布命令才能生成。
如何生成并修改配置文件
-
安装 Sanctum(若尚未安装)
composer require laravel/sanctum
-
发布配置与迁移文件
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
✅ 执行后会生成两个关键内容:
-
config/sanctum.php(配置文件) -
database/migrations/xxx_create_personal_access_tokens_table.php(迁移文件)
如果没看到
config/sanctum.php,说明发布失败,可重试或检查是否已正确安装包。
-
运行数据库迁移(必需)
php artisan migrate
没有这张
personal_access_tokens表,createToken()会静默失败。
常见需要修改的配置项(在 config/sanctum.php 中)
-
stateful数组
控制哪些域名被视为“可信前端”,用于 Cookie 认证(SPA 场景)。
例如本地开发:'stateful' => ['localhost', 'localhost:3000', '127.0.0.1'],
生产环境需填你的真实前端域名(如
'yourapp.com'),不能用通配符*。 -
expiration
设置 Token 过期时间(单位:分钟),默认null(永不过期)。
若需限制,可设为:'expiration' => 60 * 24, // 24 小时
encrypt
是否加密存储 Token(默认false)。一般无需开启,除非有特殊合规要求。middleware
指定 Sanctum 内部使用的中间件栈,默认已合理配置,通常不需改动。
修改后是否需要重启?
不需要重启服务器,但以下情况建议清缓存:
php artisan config:clear
尤其在修改 stateful 或 expiration 后,避免旧配置被缓存影响行为。











