Laravel 11 的 php artisan install:api 命令自动安装 Sanctum、发布并运行迁移、添加 HasApiTokens trait(Laravel 11.1+)、配置 auth:sanctum guard,但需手动确认 User 模型引入 trait、为 API 路由添加 auth:sanctum 中间件、实现登录接口返回 plainTextToken。

Laravel 11 的 php artisan install:api 命令是官方提供的快捷脚手架,它会自动完成 Sanctum 的基础安装、迁移和关键配置,但**不是“一键全搞定”**——仍需手动补几处关键设置才能真正跑通 API 认证。
install:api 实际做了什么
该命令执行时会:
- 安装
laravel/sanctum包(如果尚未安装) - 发布 Sanctum 的迁移文件(
create_personal_access_tokens_table.php) - 自动运行
php artisan migrate - 在
app/Models/User.php中添加HasApiTokenstrait(仅 Laravel 11.1+ 默认启用) - 配置
config/auth.php中的apiguard 使用sanctumdriver
必须手动补上的三件事
即使 install:api 执行成功,以下步骤仍需你亲自操作,否则 Token 创建或校验会失败:
-
确认 User 模型已正确引入 trait:打开
app/Models/User.php,检查是否包含这两行:use Laravel\Sanctum\HasApiTokens;use HasApiTokens;(在use列表中) -
为 API 路由加 auth:sanctum 中间件:在
routes/api.php中,把受保护路由包进中间件组,例如:Route::middleware('auth:sanctum')->group(function () {<br> Route::get('/user', function (Request $request) { return $request->user(); });<br>}); -
实现登录接口生成 Token:Laravel 不自动生成登录路由。你需要手动写一个登录逻辑,比如:
$token = $user->createToken('postman')->plainTextToken;
并确保返回该plainTextToken(注意:不是$token->accessToken)
验证是否装好
快速测试方法:
- 用 Postman 发起 POST 请求到你的登录接口,拿到
plainTextToken - 再发 GET 请求到
/api/user,Header 加上:Authorization: Bearer your-token-here - 返回用户数据 → 成功;返回 401 → 检查中间件、Token 格式或 User 模型 trait
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











