2009-01-29 3 views
54

Où puis-je trouver le code de référence qui implémente un client HTTP Basic Authentication en JavaScript pur, adapté à AJAX?Code JavaScript pur pour l'authentification de base HTTP?

Points supplémentaires pour le code, ou pointeurs vers le code, qui peuvent être utilisés indépendamment des kits d'outils JS comme YUI. Aucun point pour Java, Flash/Flex, les frameworks PHP, etc.

+3

Que voulez-vous dire pur javascript? Vous cherchez un moyen de définir des cookies avec javascript sans recharger la page? –

+2

L'authentification de base n'utilise pas les cookies mais les en-têtes HTTP. –

Répondre

57

La version à cinq paramètres de la méthode XMLHttpRequest.open vous permet de spécifier le nom d'utilisateur et le mot de passe. (WHATWG spec)

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

Il y a un bon article/tutoriel écrit par Paul James. Je l'ai utilisé il y a quelque temps et ça a marché pour moi.

HTTP Authentication with HTML Forms

[...] XMLHttpRequest, il peut soumettre les en-têtes de correctes auth HTTP pour nous. Plutôt que d'ajuster l'URL que le formulaire soumet à, nous pouvons utiliser XMLHTTPRequest pour faire une demande avant que le formulaire soumet fournissant le nom d'utilisateur entré et mot de passe.

Cela crée le navigateur avec les informations d'identification auth HTTP donc il va aussi les envoyer à notre demande de connexion de soumission forme réelle.

+2

Plus que ce que je cherchais, mais ressemble à une très belle façon de remplacer la boîte de dialogue de connexion par défaut du navigateur. –

+2

J'ai essayé ceci et cela fonctionne mais je l'ai dans la console Chrome: Les demandes de sous-ressources dont les URL contiennent des informations d'identification intégrées (par exemple 'https: // user: pass @ host /') sont obsolètes et seront bloquées dans M59, vers juin. 2017. Voir https://www.chromestatus.com/feature/5669008342777856 pour plus de détails. Y a-t-il d'autres méthodes? – David

Questions connexes