我正在使用Laravel 6.7 和 Passport来使用我自己的 API。当我尝试使用 注销用户Auth::logout()
时,我收到以下错误:
Illuminate\Auth\RequestGuard::logout 不存在。
我不明白为什么我会得到这样的行为。我没有使用任何自定义警卫。根据 Passport 设置,我的Auth.php如下:
<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
这是注销代码所在的 AuthenticationController.php:
/**
* --------------------------------------------------
* Removes the identity of a users login session.
* --------------------------------------------------
* @param Request $request
* @return MessageResource
* --------------------------------------------------
*/
public function logout(Request $request): MessageResource
{
if (Auth::check()) {
Auth::user()->token()->revoke();
}
return new MessageResource(['message' => 'Logout request is successful.']);
}
有没有办法解决这个问题?任何见解将不胜感激。提前致谢。