这是 config/auth.php 中的代码
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt',
'provider' => 'users',
'hash' => false,
],
'client' => [
'driver' => 'jwt',
'provider' => 'clients',
]
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'clients' => [
'driver' => 'eloquent',
'model' => App\Client::class,
],
],
对于不同的登录用户,我的登录功能没有此代码的问题:
config()->set('auth.defaults.guard', 'client');
Config::set('jwt.user', 'App\Client');
Config::set('auth.providers.clients.model', Client::class);
这是我的注销功能:
function logout(Request $request)
{
$this->validate($request, ['token' => 'required']);
Config::set('jwt.user', 'App\Client');
Config::set('auth.providers.clients.model', Client::class);
try {
JWTAuth::invalidate(JWTAuth::getToken());
return response()->json(['success' => true]);
} catch (JWTException $e) {
return response()->json(['success' => false, 'error' => 'Failed to logout'], 500);
}
}
我正在使用 Laravel 6 和 tymon/jwt-auth "1.0.0-rc.5.1"