使用功能撤消用户令牌后
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不存在”。作为回应
答案 0 :(得分:1)
这与您如何呼叫server_name
有关。检查命名空间下的导入方式(如果有的话)。您可以使用Auth
或不导入它,并在其之前使用斜杠,它应该可以正常工作。
在修补程序中,我可以正确地致电use \Auth;
和Auth::attempt()
。
因此,为了快速解决问题,请尝试在\Auth::attempt()
之前放置\
。