Rumah >pembangunan bahagian belakang >Golang >Mengapakah Kuki HTTPSahaja Saya Bukan Tetapan dalam Penyemak Imbas pada Localhost?

Mengapakah Kuki HTTPSahaja Saya Bukan Tetapan dalam Penyemak Imbas pada Localhost?

Susan Sarandon
Susan Sarandonasal
2024-11-18 19:55:02207semak imbas

Why Aren't My HTTPOnly Cookies Setting in the Browser on Localhost?

HTTOnly Cookie Tidak Tetapkan dalam Penyemak Imbas pada Localhost

Masalah:

Dalam REST API dengan titik akhir log masuk yang menjana kuki HTTPOnly, kuki itu tidak lagi ditetapkan dalam penyemak imbas, walaupun permintaan POST melalui Posmen berfungsi dengan betul. Isu ini berlaku walaupun menggunakan pendekatan yang berfungsi sebelum ini.

Pendekatan Digunakan:

  • Mencipta pelaksanaan Go yang minimum bagi REST API.
  • Mencipta pelaksanaan Nod menggunakan Express dan axios.
  • Respons pengepala dianalisis dan menguji kod bahagian hadapan.

Keputusan:

  • Kedua-dua API Go dan Node menghantar kuki HTTPOnly dalam pengepala respons mereka.
  • Walau bagaimanapun, kuki itu tidak ditetapkan dalam pelayar yang diuji.

Penyelesaian:

Masalahnya ialah dalam kaedah JavaScript sisi klien (fetch()). Dengan menambahkan pilihan 'kredential: "include"' pada objek RequestInit, penyemak imbas dibenarkan menghantar dan menerima kuki dengan permintaan itu. Ini adalah perlu untuk kuki HTTPOnly ditetapkan dalam penyemak imbas.

Maklumat Tambahan:

  • Axios secara automatik menetapkan pilihan 'kredential: "include"'.
  • Jika menggunakan Axios, 'withCredentials: true' harus disertakan dalam argumen konfigurasi ketiga permintaan untuk mendayakan tetapan kuki penyemak imbas.

Atas ialah kandungan terperinci Mengapakah Kuki HTTPSahaja Saya Bukan Tetapan dalam Penyemak Imbas pada Localhost?. 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