Mis usuarios ingresan un nombre de usuario y contraseña para un servicio de terceros. Hago una llamada ajax a ese servicio para autenticarlos. El problema es que si ingresan el nombre de usuario y la contraseña incorrectos, el navegador (al menos Firefox) mostrará un diálogo de "autenticación requerida". Si luego ingresan el nombre de usuario y la contraseña correctos en ese cuadro de diálogo, mi llamada ajax devolverá un "éxito", y parecerá que el usuario/contraseña original que ingresaron era correcto, cuando no lo es (ya que lo cambiaron).¿Cómo suprimir el diálogo de "autenticación requerida" del navegador cuando se realiza una llamada ajax que requiere autenticación?
¿Hay alguna manera de suprimir este cuadro de diálogo (para que mi servicio les diga que corrijan su usuario/contraseña) o de alguna manera tomar el nombre de usuario y la contraseña correctos que el usuario ingresó en el diálogo de navegadores? Esta es una extensión de Firefox ... así que estoy seguro de que hay alguna forma de obtener el pase/inicio de sesión correcto de la solicitud ... pero sería bueno si hubiera un método más simple a través de javascript.
jQuery.ajax({
type: "GET",
dataType: "xml",
url: endpoint,
username: username,
password: password,
success: function(data,status) {
// Do something
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(errorThrown);
}
});
¿Resolvería eso realmente el problema? Esperaría que si el nombre de usuario y la contraseña especificados en la URL fueran incorrectos, el servidor remoto todavía emitiría una respuesta 401 ... –