2012-06-18 15 views
6

Estoy tratando de enviar una solicitud de XHR desde una extensión de Google Chrome a otro dominio. Esto funcionaría bien, pero necesito enviar esas cookies de dominios con la solicitud. Alguna forma de hacer esto?Enviar pedido de XHR desde la extensión de Chrome con cookies

+0

Puedes usar la API ['webRequest'] (http://code.google.com/chrome/extensions/webRequest.html#event-onBeforeSendHeaders) para modificar los encabezados, incluido' Cookie'. Un ejemplo de UA spoofing + edición de encabezado se puede encontrar [aquí] (http://stackoverflow.com/a/10339902/938089?associate-a-custom-user-agent-to-a-specific-google-chrome-page -lengüeta). –

+0

¿Por qué tiene la impresión de que Chrome no enviará las cookies del usuario? Acabo de probarlo, y lo hace. ¿El sitio está en tus permisos? –

+0

Huh. Mi error. Definitivamente envía cookies con la solicitud. – nathancahill

Respuesta

5

Asegúrese de que los permisos manifest.json son configurado correctamente.

Tiene que establecer correctamente el permiso de solicitud de dominio entre sitios en el manifest.json de su extensión de cromo. Cuando se realiza correctamente, las cookies que ya están configuradas para el dominio de destino se enviarán junto con la solicitud que se realiza a ese dominio. manifest.json documentation

Debe tener especial cuidado al jugar con localhost:port_number. Deberá especificar ese dominio completo en el manifest.json para que funcione. Terminé con comportamientos incómodos cuando mi dominio localhost NO estaba especificado en su totalidad.

Esta es la forma en que desea especificar su dominio localhost en el manifest.json de su extensión (si eso tiene sentido):

... 
"permissions": [ 
    "http://localhost:3000/" 
    ], 
... 

Si las cookies que desea enviar al dominio de destino no están establecidas, sin embargo, Puedes hacerlo utilizando el método chrome.cookies.set y especificar el nombre de dominio que deseas a través del atributo domain del objeto que pasas al método set. La documentación está aquí: chrome.cookies.set.

+1

¿Por qué localhost otorga permisos de sitios cruzados? – itchyspacesuit

Cuestiones relacionadas