我正在努力使用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' => [
//
],
];