Laravel 10 Sanctum Token认证返回401 Unauthorized问题求助
基本环境
- 全新Laravel 10 + Sanctum环境,已完成安装、数据表迁移并执行默认DatabaseSeeder
- 需为多个不同前端应用提供后端服务,当前选择使用Sanctum Tokens(询问是否有更优方案)
已完成的配置
令牌创建路由(routes/api.php)
从Laravel官方文档复制路由,仅将device_name属性名改为token_name,代码如下:
Route::post('/sanctum/token', function (Request $request) { $request->validate([ 'email' => 'required|email', 'password' => 'required', 'token_name' => 'required', ]); $user = User::where('email', $request->email)->first(); if (!$user || !Hash::check($request->password, $user->password)) { throw ValidationException::withMessages([ 'email' => ['The provided credentials are incorrect.'], ]); } return $user->createToken($request->token_name)->plainTextToken; });
修改的非官方提及配置项
通过网络搜索修改了以下配置,不确定是否必要:
- config/cors.php:将默认值
false改为true'supports_credentials' => true, - app/Http/Kernel.php:取消以下行的注释
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
测试问题
使用Postman测试时始终得到401 Unauthorized响应,请求截图:
诉求
希望先解决API路由的401问题,再启动前端应用开发。
内容的提问来源于stack exchange,提问作者DontVoteMeDown
相关产品推荐
相关产品推荐

