Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Kuki FastAPI Saya Tidak Muncul di Bahagian Hadapan Reaksi Saya?

Mengapa Kuki FastAPI Saya Tidak Muncul di Bahagian Hadapan Reaksi Saya?

DDD
Lepaskan: 2024-12-05 04:30:10
asal
229 orang telah melayarinya

Why Aren't My FastAPI Cookies Showing Up in My React Frontend?

FastAPI: Mengendalikan Kuki dalam React Frontend

Ikhtisar

FastAPI mendayakan pengendalian kuki untuk pembangunan backend. Walau bagaimanapun, menghantar dan menerima kuki dalam bahagian hadapan React mungkin memerlukan konfigurasi khusus untuk memastikan kefungsian yang betul.

Mengapa Kuki Tidak Dikembalikan ke Bahagian Depan React

Jika bahagian belakang FastAPI anda tidak mengembalikan kuki ke apl React anda , beberapa faktor mungkin menyumbang kepada isu ini:

1. Permintaan Axios Tidak Sah:

  • Pastikan permintaan Axios anda menghantar bukti kelayakan dengan betul dengan menetapkan sifat withCredentials kepada benar.
  • Sahkan bahawa URL permintaan Axios sepadan dengan domain anda Bahagian belakang FastAPI. Menggunakan localhost dan 127.0.0.1 sebagai domain yang berbeza boleh mengganggu penciptaan kuki.

2. Sekatan CORS:

  • Disebabkan permintaan silang asal, anda perlu mengkonfigurasi tetapan CORS secara eksplisit dalam aplikasi FastAPI anda.
  • Nyatakan asal yang dibenarkan menggunakan CORSMiddleware dengan allow_credentials= Benar untuk mendayakan kuki silang asal penggunaan.

3. Tetapan Kuki dalam FastAPI:

  • Pastikan anda menetapkan kuki dengan betul dalam laluan FastAPI anda menggunakan kaedah response.set_cookie().
  • Sahkan bahawa parameter httponly ditetapkan kepada Benar untuk menghalang akses pihak pelanggan kepada kuki.

4. Atribut SameSite:

  • Atribut SameSite bagi kuki boleh memberi kesan kepada ketersediaannya merentas domain yang berbeza.
  • Tetapkannya kepada SameSite=Lax atau SameSite=Ketat untuk mengawal kebolehaksesan kuki dan mengelakkan serangan merentas tapak.

Contoh FastAPI Tetapan Kuki:

from fastapi import FastAPI, Response

app = FastAPI()

@app.get('/')
def main(response: Response):
    response.set_cookie(
        key='token',
        value='some-token-value', 
        httponly=True,
        samesite='Lax'  # or 'Strict'
    ) 
    return {'status': 'success'}
Salin selepas log masuk

Contoh Permintaan Axios dengan Bukti Kelayakan:

await axios.post(url, data, {withCredentials: true}))
Salin selepas log masuk

Nota Penting:

  • Ingat bahawa menggunakan kad bebas (*) untuk Access-Control-Allow-Origin mungkin hadkan jenis komunikasi dan halang kuki dan pengepala kebenaran daripada dihantar.
  • Pastikan domain bahagian hadapan disertakan secara eksplisit dalam asal yang dibenarkan dan allow_credentials=True ditetapkan untuk pengendalian kuki yang betul.

Atas ialah kandungan terperinci Mengapa Kuki FastAPI Saya Tidak Muncul di Bahagian Hadapan Reaksi Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan