Sé que esto puede haber sido respondido ya, pero ninguna de las soluciones que encontré me funciona.
Tengo una llamada AJAX de example.com a api.example.com/v1 , al enviar la solicitud, no se envía ninguna cookie.
EDITAR:
Mi código AJAX es
$.ajax({ type:"POST", url:"https://api.example.com/v1/", data: payload, processData: false, xhrFields: { withCredentials:true }, crossDomain: true, xhrFields: { responseType: 'arraybuffer' }, dataType: 'binary', contentType: 'application/octet-stream', headers: { "Csrf-Token": csrfValue, "accept": "application/octet-stream"}, success: function(res) { // Some code here } });EDITAR 2:
Los encabezados establecidos por el servidor en la solicitud de verificación previa son:
access-control-allow-credentials: true access-control-allow-headers: Content-Type, Csrf-Token, Cookie access-control-allow-methods: OPTIONS, POST access-control-allow-origin: https://example.com allow: OPTIONS, POSTEDITAR 3:
Mis valores de cookies son:
Name: __Secure-Csrf-Token Content: 4XAlnRWR95FKGcpYxZb6P9xxtFx1hP7XXU8rSShpnEY Domain: .example.com Path: / Send for: Secure same-site connections only Created: Wednesday, May 25, 2022 at 11:18:17 PM Expires: When the browsing session ends Y sí, mi sitio usa HTTPS .
De acuerdo, parece que estaba repitiendo el xhrFields , por lo que la primera mención donde configuré withCredentials: true se sobrescribió.