2009-01-29 19 views
54

¿Dónde puedo encontrar el código de referencia que implementa un cliente de Autenticación básica HTTP en JavaScript puro, adecuado para AJAX?Código JavaScript puro para autenticación básica HTTP?

Puntos adicionales para el código, o punteros al código, que se pueden usar independientemente de los kits de herramientas JS como YUI. No hay puntos para Java, Flash/Flex, frameworks PHP, etc.

+3

¿Qué quiere decir pure javascript? ¿Está buscando una forma de establecer cookies con javascript sin la recarga de la página? –

+2

Autenticación básica no utiliza cookies sino encabezados HTTP. –

Respuesta

57

La versión de cinco parámetros del método XMLHttpRequest.open le permite especificar el nombre de usuario y la contraseña. (WHATWG spec)

xhr.open(method, url, async, username, password) 
23

Hay un buen artículo/tutorial escrito por Paul James. Lo usé hace un tiempo y funcionó para mí.

HTTP Authentication with HTML Forms

[...] XMLHTTPRequest, pueda presentar las cabeceras de autenticación HTTP correctas para nosotros. En lugar de ajustar la URL a la que se envía el formulario , podemos usar XMLHTTPRequest para realizar una solicitud antes de que el formulario presente el suministro del nombre de usuario ingresado y la contraseña.

Esto configurará el navegador con las credenciales de autenticación HTTP por lo que también les va a enviar con nuestra solicitud de presentación Inicio forma real.

+2

Más de lo que estaba buscando, pero parece una muy buena forma de reemplazar el diálogo de inicio de sesión predeterminado del navegador. –

+2

Intenté esto y funciona pero obtengo esto en la consola de Chrome: Las solicitudes de subcarpetas cuyas URL contienen credenciales incrustadas (por ejemplo, 'https: // usuario: pass @ host /') están en desuso y se bloquearán en M59, alrededor de junio 2017. Consulte https://www.chromestatus.com/feature/5669008342777856 para obtener más detalles. ¿Hay algún otro método? – David

Cuestiones relacionadas