validate([ 'email' => ['required', 'email'], 'password' => ['required', 'string'], ]); if (!Auth::attempt($credentials)) { return response()->json([ 'message' => 'Email dan/atau password tidak sesuai' ], 401); } $user = Auth::user(); $user->tokens()->delete(); $token = $user->createToken('mobile-token')->plainTextToken; return response()->json([ 'access_token' => $token, 'token_type' => 'Bearer', ]); } public function me(Request $request): JSONResponse { return response()->json($request->user()); } public function logout(Request $request): JSONResponse { $request->user()->currentAccessToken()->delete(); return response()->json([ 'message' => 'Berhasil logout', ]); } }