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

Laravel Passport调用用户数据接口返回Unauthenticated错误求助

排查Laravel Passport "Unauthenticated." 问题

我来帮你定位这个问题,通常出现这个错误是因为路由没加认证中间件、Token传递不正确或者Passport基础配置没做好,咱们一步步排查:

1. 确保details路由应用了auth:api中间件

你的api.php里的details路由看起来没完善,必须加上Passport的认证中间件才能让接口验证Token。修改后的路由应该是这样:

Route::post('details', 'API\PassportController@getDetails')->middleware('auth:api');

只有加上middleware('auth:api'),Laravel才会用Passport来验证请求中的Token。

2. 检查请求时是否正确携带了Token

调用details接口时,必须把登录接口返回的access_token正确传递给服务器,有两种常用方式:

  • 请求头方式(推荐):在请求头里添加Authorization字段,格式为Bearer {你的access_token},比如:
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij...
    
  • 请求参数方式:在POST参数里直接带上access_token,比如:
    POST /api/details HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ij...
    

3. 确认Passport的基础配置是否完成

如果上面两步都没问题,那得检查Passport的核心配置:

  • 打开app/Providers/AuthServiceProvider.php,确保boot方法里调用了Passport::routes():
    public function boot()
    {
        $this->registerPolicies();
        Passport::routes(); // 必须添加这一行
    }
    
  • 打开config/auth.php,确认api guard的driver设置为passport:
    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
    
        'api' => [
            'driver' => 'passport', // 这里必须是passport,不能是默认的token
            'provider' => 'users',
            'hash' => false,
        ],
    ],
    

4. 验证登录返回的Token是否有效

登录接口返回的access_token必须是未过期的,你可以在login方法里确认Token生成逻辑正确:

public function login(Request $request)
{
    if(Auth::attempt(['email' => $request->email, 'password' => $request->password])){
        $user = Auth::user();
        $success['token'] =  $user->createToken('MyApp')->accessToken; // 确保这里生成的Token格式正确
        return response()->json(['success' => $success], $this->successStatus);
    }
    else{
        return response()->json(['error'=>'Unauthorised'], 401);
    }
}

如果这些步骤都检查过,应该就能解决Unauthenticated.的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:23:49