Я также заметил в Postman, что если я выйду из системы, а затем зарегистрируюсь снова, я получу код ответа 204.

Register.jsx:
async function handleRegister(e) {
e.preventDefault();
await fetch('http://localhost:8000/sanctum/csrf-cookie', {
method: "GET",
credentials: "include"
});
// Extract CSRF token
const csrfToken = decodeURIComponent(
document.cookie.split('; ').find(row => row.startsWith('XSRF-TOKEN='))?.split('XSRF-TOKEN=')[1] || ''
);
console.log(csrfToken);
const res = await fetch('http://localhost:8000/register', {
method: "POST",
headers: {
"X-XSRF-TOKEN": csrfToken
},
credentials: "include",
body: JSON.stringify(formData),
});
if (!res.ok) {
console.error("Registration failed:", res);
if (res.errors) {
setErrors(res.errors);
console.error("Errors:", res.errors);
}
} else {
navigate("/login");
console.log(res);
}
}
RegisteredUserController.php:
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\Rules;
class RegisteredUserController extends Controller
{
/**
* Handle an incoming registration request.
*
* @throws \Illuminate\Validation\ValidationException
*/
public function store(Request $request): Response
{
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class],
'password' => ['required', 'confirmed', Rules\Password::defaults()],
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->string('password')),
]);
event(new Registered($user));
Auth::login($user);
return response()->noContent();
}
}
auth.php:
Route::post('/register', [RegisteredUserController::class, 'store'])
->middleware('guest')
->name('register');
Подробнее здесь: https://stackoverflow.com/questions/795 ... dy-message
Мобильная версия