¿Enviar credenciales con publicaciones entre dominios?
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?
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
Puede utilizar la beforeSend
devolución de llamada para establecer parámetros adicionales (el XMLHTTPRequest
objeto 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.