cari

Rumah  >  Soal Jawab  >  teks badan

Bahagian belakang ekspres menghadapi masalah menerima kuki subdomain menggunakan CORS dan Penghurai Kuki

<p>Saya sedang membangunkan aplikasi MERN (MongoDB, Express, React, Node.js) dan saya menghadapi masalah dengan menerima kuki daripada subdomain dalam bahagian belakang Express. Saya telah menyediakan pengendalian CORS dan kuki dan semuanya berfungsi dengan baik apabila menggunakan asal localhost yang mudah, tetapi saya menghadapi masalah mengendalikan subdomain. </p> <p>Berikut ialah ringkasan langkah yang saya ambil dan isu yang saya hadapi: </p> <p><strong>Tetapkan kuki apabila log masuk: </strong></p> <pre class="brush:php;toolbar:false;">res.cookie("token", token, { httpSahaja: benar, sameSite: "tiada", laluan: "/", selamat: benar, });</pre> <p>Apabila saya cuba mendapatkan kuki ini menggunakan tetapan cors, di mana asalnya: </p> <pre class="brush:php;toolbar:false;">app.use( kor({ asal: "http://localhost:3000", kelayakan: benar, }) );</pra> <p>Tetapi apabila menguji, apabila saya menggunakan asal subdomain, seperti ini: </p> <pre class="brush:php;toolbar:false;">app.use( kor({ asal: "http://binbros.localhost:3000", kelayakan: benar, }) );</pra> <p>Tiada ralat dengan CORS pada bahagian hadapan dan kuki berjaya dibuat pada bahagian hadapan. Tetapi apabila saya cuba mengakses kuki menggunakan tetapan CORS ini, saya tidak menerima sebarang kuki. Tetapi menggunakan kaedah yang sama dan persediaan CORS kepada localhost mudah, saya boleh mendapatkan semua kuki secara normal tanpa sebarang masalah. </p> <p><kod>console.log(req.cookies);</code></p> <p>P.S: Apabila saya menggunakan localhost dan asal ialah localhost, dan saya log kuki itu, Saya boleh mendapatkan semua kuki bahagian hadapan, bukan hanya kuki yang saya buat di bahagian belakang tetapi Apabila saya menggunakan asal subdomain, saya tidak menerima pun kuki di bahagian belakang, Tiada yang dibuat oleh saya, mahupun daripada bahagian hadapan</p>
P粉665427988P粉665427988472 hari yang lalu499

membalas semua(1)saya akan balas

  • P粉244730625

    P粉2447306252023-08-15 09:07:40

    Apabila menggunakan subdomain dalam persekitaran pembangunan seperti subdomain.localhost, anda mungkin menghadapi cabaran tambahan disebabkan oleh sekatan dasar keselamatan penyemak imbas. Penyemak imbas selalunya menganggap subdomain berbeza sebagai asal usul bebas, yang mungkin menjejaskan kuki dan gelagat CORS.

    Dalam persekitaran pembangunan, atribut secure paling sesuai ditetapkan kepada false.

    res.cookie("token", token, {
        httpOnly: true,
        sameSite: "none",
        path: "/",
        secure: false,
      });

    Semak sistem andahosfail:

    127.0.0.1 binbros.localhost

    Semak pada bahagian hadapan sama ada API dipanggil daripada nama domain binbros.localhost dan semak Access-Control-Allow-Credentials

    https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials

    balas
    0
  • Batalbalas