¿Alguien sabe si es posible enviar credenciales de autenticación http básicas con EventSource?EventSource y autenticación http básica
Respuesta
EventSource trata del servidor que envía eventos al cliente. Creo que necesitas comunicación bidireccional para la autenticación. ¿Cómo enviarías las credenciales reales?
WebSockets, sin embargo, puede lograr eso. ¿Es esto lo que estás buscando?
Actualización:
Puede lograr lo que quiere mediante la utilización de cookies, como ha señalado 4esn0k. Las cookies se envían junto con la solicitud inicial que hace el navegador para establecer la conexión. Por lo tanto, solo asegúrese de establecer el identificador de sesión para la cookie antes de iniciar cualquier conexión de EventSource.
Si su charla acerca de las cookies (no http autenticación):
EventSource utiliza HTTP, por lo que las galletas son enviados atendiendo solicitud de conexión EventSource.
autenticación HTTP debe ser apoyado como cualesquiera otras direcciones URL http, aunque desde CORS de especificaciones de autenticación HTTP + no es compatible
Busco una solución al mismo problema. Este post here dice esto:
Otra advertencia es que por lo que sabemos, no se puede cambiar el HTTP cabeceras cuando se utiliza EventSource, lo que significa que tiene que presentar una autorización cadena de consulta parámetro con el valor que se tendría insertada usando HTTP Basic Auth: una concatenación codificada en base64 de su inicio de sesión y un token.
Este es el código del mensaje:
// First, we create the event source object, using the right URL.
var url = "https://stream.superfeedr.com/?";
url += "&hub.mode=retrieve";
url += "&hub.topic=http%3A%2F%2Fpush-pub.appspot.com%2Ffeed";
url += "&authorization=anVsaWVuOjJkNTVjNDhjMDY5MmIzZWFkMjA4NDFiMGViZDVlYzM5";
var source = new EventSource(url);
// When the socket has been open, let's cleanup the UI.
source.onopen = function() {
var node = document.getElementById('sse-feed');
while (node.hasChildNodes()) {
node.removeChild(node.lastChild);
}
};
// Superfeedr will trigger 'notification' events, which corresponds
// exactly to the data sent to your subscription endpoint
// (webhook or XMPP JID), with a JSON payload by default.
source.addEventListener("notification", function(e) {
var notification = JSON.parse(e.data);
notification.items.sort(function(x, y) {
return x.published - y.published;
});
notification.items.forEach(function(i) {
var node = document.getElementById('sse-feed');
var item = document.createElement("li");
var t = document.createTextNode([new Date(i.published * 1000), i.title, i.content].join(' '));
item.appendChild(t);
node.insertBefore(item, node.firstChild);
// We add the element to the UI.
});
});
- 1. Autenticación HTTP condicional básica
- 2. Python urllib2, autenticación HTTP básica y tr.im
- 3. Solicitudes HTTP con autenticación básica
- 4. Autenticación HTTP básica, usando python
- 5. Objetivo-c autenticación básica HTTP
- 6. Ajax: autenticación básica de HTTP y cookie de autenticación
- 7. Autenticación HTTP básica en el iPhone
- 8. ¿Puedo usar Autenticación básica HTTP con Django?
- 9. XmlSlurper.parse (uri) con autenticación básica HTTP
- 10. HTTP de autenticación básica para Carpincho
- 11. ¿Puedo usar NSURLCredentialStorage para autenticación básica HTTP?
- 12. Autenticación HTTP básica para un servidor Jetty
- 13. Código JavaScript puro para autenticación básica HTTP?
- 14. PhoneGap FileTransfer con autenticación básica HTTP
- 15. Salir con la autenticación básica HTTP y el plugin restful_authentication
- 16. secuencia em-http con autenticación básica y gzip cuelga
- 17. Manejo de formularios y autenticación básica HTTP con diferentes fuentes
- 18. .htaccess, mod_rewrite y autenticación básica
- 19. Autenticación básica con Flash
- 20. Wcf Autenticación básica
- 21. Autenticación básica con XMLHTTPRequest
- 22. urllib2 autenticación básica oddites
- 23. ¿Admite Amazon S3 la solicitud HTTP con autenticación básica?
- 24. Formulario de acceso para autenticación básica de HTTP
- 25. Autenticación de autenticación básica de CakePHP 2
- 26. Llamadas de JQuery Ajax con autenticación básica de HTTP
- 27. ¿Cómo puedo usar la Autenticación HTTP básica en PHP?
- 28. ¿Cómo se maneja la Autenticación HTTP básica en AVURLAsset?
- 29. SOAP 1.2 sobre SSL + autenticación básica HTTP o WS-Security?
- 30. LWP :: agente de usuario de autenticación básica HTTP
EventSource tiene que inicializar una conexión y se encarga de mantenerlo abierto, ya sea por no cerrar si no se cierra por el servidor o tratando de restablecerlo indefinidamente si el servidor lo está cerrando. De cualquier manera, EventSource tiene que dar el primer paso en la conexión. EventSource es ideal para mi propósito, pero me gustaría que envíe información de autenticación al realizar una solicitud. –
Basado en la especificación (http://dev.w3.org/html5/eventsource/), no hay forma de enviar esas credenciales, me temo. – Tower
@Tower No estoy de acuerdo. Un EventSource es simplemente una solicitud http que se mantiene activa y tiene un tipo de contenido de 'text/event-stream'. Puede pasar una cookie como cualquier otra solicitud http (suponiendo que ya esté autenticado) o puede pasar credenciales a través de una cadena de consulta – saml