Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Pelayar Saya Tidak Menyimpan Kuki daripada Permintaan Silang Asal?

Mengapa Pelayar Saya Tidak Menyimpan Kuki daripada Permintaan Silang Asal?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 20:49:18238semak imbas

Why Won't My Browser Store Cookies from Cross-Origin Requests?

Pelayar Enggan Menyimpan Kuki dalam Permintaan Silang Asal

Penerangan Masalah:

Aplikasi React menggunakan pelayan Go menghadapi kesukaran untuk menyimpan kuki yang dihantar dalam respons permintaan log masuk walaupun berjaya menetapkannya. Kuki kelihatan dalam tab rangkaian, tetapi penyemak imbas (Chrome dan Firefox) tidak menyimpannya.

Punca dan Penyelesaian Punca:

Setelah siasatan lanjut, ia didapati bahawa bahan yang hilang ialah bendera 'kredential' dalam permintaan pengambilan. Menetapkan 'kredential: "include"' membenarkan penyemak imbas mengendalikan dan menyimpan kuki yang diterima dalam respons. Permintaan pengambilan yang diperbetulkan ialah:

fetch(`${url}/login`, {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
    },
    credentials: "include", // This here
    body: JSON.stringify({
        email: userDetails.email,
        password: userDetails.password,
    }),
}).then((response) => { ...

Langkah Berjaga-jaga Tambahan:

  • Pastikan pelayan dikonfigurasikan dengan pengendali CORS untuk membenarkan permintaan silang asal dengan kelayakan.
  • Untuk konfigurasi CORS tersuai, tetapkan 'AllowCredentials' kepada benar.
  • Sahkan pengepala respons untuk mengesahkan bahawa kuki sedang ditetapkan seperti yang diharapkan.

Atas ialah kandungan terperinci Mengapa Pelayar Saya Tidak Menyimpan Kuki daripada Permintaan Silang Asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn