Saya mencoba API Ambil baru tetapi mengalami masalah dengan Cookie. Secara khusus, setelah login berhasil, ada header Cookie di permintaan masa depan, tetapi Ambil tampaknya mengabaikan header itu, dan semua permintaan saya yang dibuat dengan Ambil tidak sah.
Apakah karena Pengambilan masih belum siap atau Pengambilan tidak bekerja dengan Cookie?
Saya membangun aplikasi saya dengan Webpack. Saya juga menggunakan Fetch in React Native, yang tidak memiliki masalah yang sama.
same-origin
(yang tidak masih bekerja) berarti bahwa lebih header akan dihormati (cookies, dll) tapi kode Anda akan memiliki akses terbatas ke respon.document.cookie
, tetapi masih tersedia untuk ajax atau mengambil permintaan.Selain jawaban @ Khanetor, bagi mereka yang bekerja dengan permintaan lintas-asal:
credentials: 'include'
Contoh permintaan pengambilan JSON:
https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials
sumber
document.cookie
sudah cukup untuk dimasukkan dalam permintaan.Baru saja dipecahkan. Hanya dua f. hari-hari brutforce
Bagi saya rahasianya adalah sebagai berikut:
Saya menelepon POST / api / auth dan melihat bahwa cookie berhasil diterima.
Kemudian memanggil GET / api / pengguna / dengan
credentials: 'include'
dan mendapat 401 tidak sah, karena tidak ada cookie yang dikirim dengan permintaan.KUNCI untuk mengatur panggilan
credentials: 'include'
pertama/api/auth
juga.sumber
credentials: 'include'
untuk yang pertamaPOST /api/auth
Jika Anda membaca ini di 2019,
credentials: "same-origin"
adalah nilai default.sumber
Hanya menambahkan jawaban yang benar di sini untuk
.net
webapi2
pengguna.Jika Anda menggunakan
cors
karena situs klien Anda dilayani dari alamat yang berbeda dengan Anda,webapi
maka Anda juga perlu memasukkanSupportsCredentials=true
pada konfigurasi sisi server.sumber
Ini bekerja untuk saya:
Kemudian buat panggilan Anda:
sumber