Laravel:在api testst中吊销令牌后无法登录用户

时间:2019-02-05 23:16:57

标签: php laravel api

使用功能撤消用户令牌后

public function logout(Request $r)  
{
    $r->user()->token()->revoke();

    return response()->json([
        'message' => 'Successfully logged out'
    ], 200);
}

我无法登录:

$user=User::where('email',$r->email)->first();
    if($user)
    {
            $credentials = $r->only('email', 'password');

            if(!Auth::attempt($credentials)){
                return response()->json(['message' => 'Unauthorized'], 401);
            }

            $user = $r->user();

            $tokenResult = $user->createToken('Personal Access Token');
            $token = $tokenResult->token;

            $token->save();

            $data = [
                'access_token' => $tokenResult->accessToken,
                'token_type' => 'Bearer',
                'expires_at' => Carbon::parse(
                        $tokenResult->token->expires_at
                )->toDateTimeString()
            ];



        return response()->json(['data'=>$data,'message'=>'Successfully logged','status'=>'success'], 200);

因为我得到“方法照亮\ Auth \ RequestGuard :: attempt不存在”。作为回应

1 个答案:

答案 0 :(得分:1)

这与您如何呼叫server_name 有关。检查命名空间下的导入方式(如果有的话)。您可以使用Auth或不导入它,并在其之前使用斜杠,它应该可以正常工作。

在修补程序中,我可以正确地致电use \Auth;Auth::attempt()

因此,为了快速解决问题,请尝试在\Auth::attempt()之前放置\