流明 - 护照身份验证 - $ request-> user()未设置

时间:2017-02-23 04:08:23

标签: passport.js lumen

我正在努力使用lumen-passport登录用户。我已按照刚刚提供的链接中的说明进行操作,但似乎无法通过$request外观设置用户Auth变量。

只要我在passport中将我的警卫驱动程序设置为auth.php,无论我似乎做什么,我都无法进入AuthServiceProvider.php boot() method内的这个区块:

Auth::viaRequest('api', function ($request) {
    if ($request->input('api_token')) {
        return User::where('api_token', $request->input('api_token'))->first();
    }
});

但即使我尝试在该呼叫之前手动返回用户记录,也从未设置用户,如果我尝试以下操作:

Auth::setUser(User::where('id', 1);

我收到此消息:

InvalidArgumentException in AuthManager.php line 99:
Auth guard driver [api] is not defined.

我上面的查询肯定也是从User表返回一条记录。我只是无法设置它,所以我可以通过$request->user()方法在我的应用程序中访问它。

任何帮助都会非常感激,因为这真让我感到困惑。如果它有帮助,那就是my auth.php config。

'defaults' => [
    //'guard' => env('AUTH_GUARD', 'api'),
    'guard' => 'api',
    'passwords' => 'users',
],

'guards' => [
    //'api' => ['driver' => 'api'],
    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => \App\User::class
    ]
],

'passwords' => [
    //
],

];

0 个答案:

没有答案