Secara default, CORS tidak menyertakan cookie pada permintaan lintas asal. Ini berbeda dari teknik lintas asal lainnya seperti JSON-P. JSON-P selalu menyertakan cookie dengan permintaan, dan perilaku ini dapat menyebabkan kelas kerentanan yang disebut pemalsuan permintaan lintas situs , atau CSRF.
Untuk mengurangi kemungkinan kerentanan CSRF di CORS, CORS membutuhkan server dan klien untuk mengakui bahwa tidak masalah untuk memasukkan cookie pada permintaan. Melakukan hal ini menjadikan cookie keputusan aktif, daripada sesuatu yang terjadi secara pasif tanpa kendali apa pun.
Kode klien harus menyetel withCredentials
properti pada XMLHttpRequest
ke true
untuk memberikan izin.
Namun, tajuk ini saja tidak cukup. Server harus merespons dengan Access-Control-Allow-Credentials
tajuk. Menanggapi dengan tajuk ini true
berarti server mengizinkan cookie (atau kredensial pengguna lain) untuk dimasukkan pada permintaan lintas-asal.
Anda juga perlu memastikan browser Anda tidak memblokir cookie pihak ketiga jika Anda ingin agar permintaan kredensial lintas-asal berfungsi.
Perhatikan bahwa terlepas dari apakah Anda membuat permintaan yang sama-asal atau lintas-asal, Anda harus melindungi situs Anda dari CSRF (terutama jika permintaan Anda termasuk cookie).