¿Enviar credenciales con publicaciones entre dominios?

Resuelto David Wolever asked hace 14 años • 3 respuestas

Según Solicitudes con credenciales , Firefox solo enviará credenciales junto con publicaciones entre dominios si

invocation.withCredentials = "true";

está configurado... Pero no parece que la API Ajax de jQuery proporcione ningún mecanismo para esto.

¿Hay algo que me he perdido? ¿Hay alguna otra manera de hacerlo?

David Wolever avatar Jan 13 '10 11:01 David Wolever
Aceptado

Se supone que la funcionalidad está rota en jQuery 1.5.

Desde jQuery 1.5.1 debes usar el parámetro xhrFields.

$.ajaxSetup({
    type: "POST",
    data: {},
    dataType: 'json',
    xhrFields: {
       withCredentials: true
    },
    crossDomain: true
});

Documentos: http://api.jquery.com/jQuery.ajax/

Error reportado: http://bugs.jquery.com/ticket/8146

Kangur avatar Aug 25 '2011 12:08 Kangur

Puede utilizar la beforeSenddevolución de llamada para establecer parámetros adicionales (el XMLHTTPRequestobjeto se le pasa como único parámetro).

Para que lo sepas, este tipo de solicitud entre dominios no funcionará en un escenario de sitio normal ni con ningún otro navegador. Ni siquiera sé qué limitaciones de seguridad impone FF 3.5 también, para que no te golpees la cabeza contra la pared por nada:

$.ajax({
    url: 'http://bar.other',
    data: { whatever:'cool' },
    type: 'GET',
    beforeSend: function(xhr){
       xhr.withCredentials = true;
    }
});

Una cosa más a tener en cuenta es que jQuery está configurado para normalizar las diferencias del navegador. Es posible que la biblioteca jQuery imponga más limitaciones que prohíben este tipo de funcionalidad.

Doug Neiner avatar Jan 13 '2010 04:01 Doug Neiner