You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10 Sanctum Token认证返回401 Unauthorized问题求助

Laravel 10 集成Sanctum认证API的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响应,请求截图:
Postman请求截图

诉求

希望先解决API路由的401问题,再启动前端应用开发。

内容的提问来源于stack exchange,提问作者DontVoteMeDown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 12:41:20