where("username", $request->username) ->orWhere("email", $request->username) ->first(); if (! $user || ! Hash::check($request->password, $user->password)) { throw ValidationException::withMessages([ 'username' => [__("auth.failed")], ]); } //Duplicate logins are not allowed PersonalAccessToken::query()->where("tokenable_type", User::class) ->where("name", 'user') ->where("tokenable_id", $user->id) ->delete(); return $this->success([ 'data' => [ 'token' => $user->createToken('user')->plainTextToken, ] ]); } public function logout() { Auth::user()->currentAccessToken()->delete(); return $this->noContent(); } }