middleware('auth:sanctum', ['only' => 'logout']); } /** * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function login(Request $request) { $loginUserData = $request->validate([ 'email' => 'required|string|email', 'password' => 'required|min:8' ]); $user = User::where('email', $loginUserData['email'])->first(); if (!$user || !Hash::check($loginUserData['password'], $user->password)) { return response()->json([ 'message' => 'Invalid Credentials' ], 401); } $token = $user->createToken( $user->name . '-AuthToken', ['*'], (new \DateTime())->add(new \DateInterval('PT30M')) )->plainTextToken; return response()->json([ 'access_token' => $token, ]); } /** * @return \Illuminate\Http\JsonResponse */ public function logout() { auth()->user()->tokens()->delete(); return response()->json([ "message" => "logged out" ]); } }