Lorsqu'un serveur autorise l'accès via l'authentification HTTP de base, quelle est l'expérience attendue dans un navigateur Web ?
En ignorant le navigateur Web pendant un moment, voici comment créer une demande d'authentification de base avec curl
:
curl -u myusername:mypassword http://somesite.com
Mais qu'en est-il dans un navigateur Web? Ce que j'ai vu sur certains sites Web, c'est que je visite l'URL, puis le serveur renvoie le code de réponse 401. Le navigateur affiche ensuite une invite de nom d'utilisateur / mot de passe.
Cependant, sur somesite.com, je ne reçois pas du tout une invite d'autorisation, juste une page qui dit que je ne suis pas autorisé. Somesite n'a-t-il pas implémenté correctement le flux de travail d'authentification de base ou dois-je faire autre chose?
Réponses:
Pour aider tout le monde à éviter la confusion, je reformulerai la question en deux parties.
Premièrement: "comment faire une requête HTTP authentifiée avec un navigateur, en utilisant l'authentification BASIC?" .
Dans le navigateur, vous pouvez d'abord effectuer une authentification de base http en attendant l'invite à venir ou en modifiant l'URL si vous suivez ce format:
http://myusername:[email protected]
NB: la commande curl mentionnée dans la question est parfaitement correcte, si vous avez une ligne de commande et curl installés. ;)
Références:
Toujours selon la page de manuel CURL https://curl.haxx.se/docs/manual.html
La deuxième et vraie question est «Cependant, sur somesite.com, je ne reçois pas du tout une invite d'autorisation, juste une page qui dit que je ne suis pas autorisé. sinon je dois faire? "
La documentation de curl indique que l'
-u
option prend en charge de nombreuses méthodes d'authentification, Basic étant la valeur par défaut.la source
As-tu essayé ?
la source
Votre ancien nom d'utilisateur / mot de passe peut être mis en cache dans votre navigateur. Essayez de les effacer et vérifiez à nouveau.
Si vous utilisez IE et que somesite.com se trouve dans votre zone de sécurité intranet, IE peut envoyer automatiquement vos informations d'identification Windows.
la source
En-tête d'authentification WWW
Vous pouvez également l'obtenir si le serveur envoie un code de réponse 401 mais ne définit pas correctement l'en-tête WWW-Authenticate - je dois savoir, je viens de le corriger dans notre propre code parce que les applications VB ne faisaient pas apparaître l'invite d'authentification.
la source
S'il n'y a pas d'informations d'identification fournies dans les en-têtes de demande, voici la réponse minimale requise pour qu'IE demande à l'utilisateur des informations d'identification et soumette à nouveau la demande.
la source
Vous pouvez utiliser Postman un plugin pour Chrome. Il donne la possibilité de choisir le type d'authentification dont vous avez besoin pour chacune des demandes. Dans ce menu, vous pouvez configurer l'utilisateur et le mot de passe. Postman traduira automatiquement la configuration en un en-tête d'authentification qui sera envoyé avec votre demande.
la source