validate([ 'email' => ['required', 'email'], 'password' => ['required', 'string'], 'device_name' => ['required', 'string', 'max:255'], ]); $user = User::where('email', $credentials['email'])->first(); if (! $user || ! Hash::check($credentials['password'], $user->password)) { throw ValidationException::withMessages([ 'email' => ['Неверный email или пароль.'], ]); } return response()->json([ 'token' => $user->createToken($credentials['device_name'])->plainTextToken, 'user' => new UserResource($user), ]); } public function logout(Request $request) { $request->user()->currentAccessToken()->delete(); return response()->noContent(); } public function me(Request $request) { return new UserResource($request->user()); } }