I am newbie to laravel api and laravel passport,and I know this is an old issue, but no answer helped me.I am using laravel passport for api Registration,login working fine, but logout giving and error
Here Is My Registraion Code
public function register (Request $request) {
$validator = Validator::make($request->all(), [
'UserName' => 'required|string|max:255',
'UserFullName' => 'string|max:255',
'UserEmail' => 'required|string|email|max:255|unique:users',
'UserPhone' => 'required|string|max:255|unique:users',
'Password' => 'required|string|min:6|confirmed',
]);
if ($validator->fails())
{
return response(['errors'=>$validator->errors()->all()], 422);
}
if ($request['UserPhone']==Null) { // will check for empty string, null values, see php.net about it
$request['UserPhone'] = NULL;
}
$request['Password']=Hash::make($request['Password']);
$request['remember_token'] = Str::random(10);
$request['UserType'] = $request['UserType'] ? $request['UserType'] : 1;
//return response($request, 200);
$user = User::create($request->toArray());
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
//return response($token, 200);
$response['data']= $user;
$response['data']['token'] = $token;
return response($response, 200);
}
My Login Code
public function login (Request $request) {
$validator = Validator::make($request->all(), [
'UserEmail' => 'required|string|email|max:255',
'Password' => 'required|string|min:6',
]);
if ($validator->fails())
{
return response(['errors'=>$validator->errors()->all()], 422);
}
$user = User::where('UserEmail', $request->UserEmail)->first();
if ($user) {
if (Hash::check($request->Password, $user->Password)) {
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
$response['data']= $user;
$response['data']['token'] = $token;
return response($response, 200);
} else {
$response = ["message" => "Password mismatch"];
return response($response, 422);
}
} else {
$response = ["message" =>'User does not exist'];
return response($response, 422);
}
}
My Logout Code
public function logout (Request $request) {
//return $request->Authorization;
$token = $request->user()->token();
//return $token;
$token->revoke();
$response = ['message' => 'You have been successfully logged out!'];
return response($response, 200);
}
Postman Response
"message": "Call to a member function createToken() on null",
"exception": "Error",