Rediriger une requête vers /.well-known/change-password
vers l'URL de modification des mots de passe
Configurez une redirection de /.well-known/change-password
vers la page de modification du mot de passe de votre site Web. Les gestionnaires de mots de passe pourront ainsi rediriger directement vos utilisateurs vers cette page.
Introduction
Comme vous le savez peut-être, les mots de passe ne sont pas la meilleure façon de gérer les comptes. Heureusement, des technologies émergentes telles que WebAuthn et des techniques telles que les mots de passe à usage unique nous aident à nous rapprocher d'un monde sans mot de passe. Toutefois, ces technologies sont encore en cours de développement et les choses ne changeront pas rapidement. De nombreux développeurs devront encore gérer des mots de passe pendant au moins les prochaines années. En attendant que les technologies et techniques émergentes se généralisent, nous pouvons au moins faciliter l'utilisation des mots de passe.
Une bonne façon de procéder consiste à mieux prendre en charge les gestionnaires de mots de passe.
Comment les gestionnaires de mots de passe peuvent vous aider
Les gestionnaires de mots de passe peuvent être intégrés aux navigateurs ou fournis en tant qu'applications tierces. Ils peuvent aider les utilisateurs de différentes manières :
Saisissez automatiquement le mot de passe dans le champ de saisie approprié : certains navigateurs peuvent trouver le champ de saisie approprié de manière heuristique, même si le site Web n'est pas optimisé à cet effet. Les développeurs Web peuvent aider les gestionnaires de mots de passe en annotant correctement les balises d'entrée HTML.
Éviter le hameçonnage : les gestionnaires de mots de passe mémorisent l'emplacement où le mot de passe a été enregistré. Il ne peut donc être saisi automatiquement qu'aux URL appropriées, et non sur les sites Web de hameçonnage.
Générez des mots de passe uniques et sécurisés : comme les mots de passe uniques et sécurisés sont générés et stockés directement par le gestionnaire de mots de passe, les utilisateurs n'ont pas besoin de se souvenir d'un seul caractère du mot de passe.
La génération et la saisie automatique de mots de passe à l'aide d'un gestionnaire de mots de passe ont déjà bien servi le Web, mais compte tenu de leur cycle de vie, la mise à jour des mots de passe chaque fois que cela est nécessaire est aussi importante que leur génération et leur saisie automatique. Pour l'exploiter correctement, les gestionnaires de mots de passe ajoutent une nouvelle fonctionnalité :
Détecter les mots de passe vulnérables et suggérer de les modifier : les gestionnaires de mots de passe peuvent détecter les mots de passe réutilisés, analyser leur entropie et leur faiblesse, et même détecter les mots de passe potentiellement divulgués ou connus pour être dangereux à partir de sources telles que Have I Been Pwned.
Un gestionnaire de mots de passe peut avertir les utilisateurs des mots de passe problématiques, mais il est difficile de demander aux utilisateurs de passer de la page d'accueil à une page de modification du mot de passe, en plus de suivre la procédure de modification du mot de passe (qui varie d'un site à l'autre). Il serait beaucoup plus facile si les gestionnaires de mots de passe pouvaient rediriger l'utilisateur directement vers l'URL de modification du mot de passe. C'est là qu'une URL bien connue pour modifier les mots de passe devient utile.
En réservant un chemin d'URL connu qui redirige l'utilisateur vers la page de modification du mot de passe, le site Web peut facilement rediriger les utilisateurs vers l'endroit approprié pour modifier leur mot de passe.
Configurer une "URL bien connue pour modifier les mots de passe"
.well-known/change-password
est proposé comme URL connue pour modifier les mots de passe. Il vous suffit de configurer votre serveur pour rediriger les requêtes pour .well-known/change-password
vers l'URL de modification du mot de passe de votre site Web.
Par exemple, imaginons que votre site Web soit https://example.com
et que l'URL de modification du mot de passe soit https://example.com/settings/password
. Il vous suffit de configurer votre serveur pour rediriger une requête pour https://example.com/.well-known/change-password
vers https://example.com/settings/password
. Et voilà ! Pour la redirection, utilisez le code d'état HTTP
302 Found
, 303 See
Other
ou 307
Temporary Redirect
.
Vous pouvez également diffuser du code HTML à votre URL .well-known/change-password
avec une balise <meta>
utilisant un http-equiv="refresh"
.
<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">
Revoir le code HTML de la page de modification du mot de passe
L'objectif de cette fonctionnalité est de rendre le cycle de vie du mot de passe de l'utilisateur plus fluide. Pour permettre à l'utilisateur de modifier son mot de passe sans difficulté, vous pouvez procéder de deux manières :
- Si votre formulaire de modification du mot de passe nécessite le mot de passe actuel, ajoutez
autocomplete="current-password"
à la balise<input>
pour aider le gestionnaire de mots de passe à le remplir automatiquement. - Pour le champ du nouveau mot de passe (dans de nombreux cas, il s'agit de deux champs pour s'assurer que l'utilisateur a saisi correctement le nouveau mot de passe), ajoutez
autocomplete="new-password"
à la balise<input>
pour aider le gestionnaire de mots de passe à suggérer un mot de passe généré.
Pour en savoir plus, consultez Bonnes pratiques concernant le formulaire de connexion.
Comment est-il utilisé dans le monde réel ?
Exemples
Grâce à l'implémentation d'Apple Safari,
/.well-known/change-password
est déjà disponible sur certains grands sites Web depuis un certain temps :
Essayez-les et faites de même pour les vôtres !
Compatibilité du navigateur
Une URL connue pour modifier les mots de passe est prise en charge dans Safari depuis 2019. Le Gestionnaire de mots de passe de Chrome commence à le prendre en charge à partir de la version 86 (dont la version stable est prévue pour fin octobre 2020). D'autres navigateurs basés sur Chromium pourraient suivre. Firefox estime que cela vaut la peine d'être implémenté, mais n'a pas indiqué qu'il prévoyait de le faire en août 2020.
Comportement du Gestionnaire de mots de passe de Chrome
Voyons comment le Gestionnaire de mots de passe de Chrome traite les mots de passe vulnérables.
Le Gestionnaire de mots de passe de Chrome peut vérifier si des mots de passe ont été divulgués. En accédant à about://settings/passwords
, les utilisateurs peuvent exécuter Vérifier les mots de passe sur les mots de passe stockés et afficher la liste des mots de passe qu'il est recommandé de modifier.

Si vous cliquez sur le bouton Modifier le mot de passe à côté d'un mot de passe qu'il est recommandé de modifier, le navigateur :
- Ouvrez la page de modification du mot de passe du site Web si
/.well-known/change-password
est correctement configuré. - Ouvrez la page d'accueil du site Web si
/.well-known/change-password
n'est pas configuré et que Google ne connaît pas la page de remplacement.
200 OK
alors que /.well-known/change-password
n'existe pas ?Les gestionnaires de mots de passe tentent de déterminer si un site Web accepte une URL bien connue pour modifier les mots de passe en envoyant une requête à /.well-known/change-password
avant de rediriger un utilisateur vers cette URL. Si la requête renvoie 404 Not Found
, il est évident que l'URL n'est pas disponible. Toutefois, une réponse 200 OK
ne signifie pas nécessairement que l'URL est disponible, car il existe quelques cas extrêmes :
- Un site Web avec rendu côté serveur affiche "Introuvable" lorsqu'il n'y a pas de contenu, mais avec
200 OK
. - Un site Web avec rendu côté serveur répond avec
200 OK
lorsqu'il n'y a pas de contenu après la redirection vers la page "Introuvable". - Une application monopage répond avec le shell avec
200 OK
et affiche la page "Page introuvable" côté client lorsqu'il n'y a pas de contenu.
Dans ces cas limites, les utilisateurs sont redirigés vers une page "Introuvable", ce qui peut être source de confusion.
C'est pourquoi il existe un mécanisme standard proposé pour déterminer si le serveur est configuré pour répondre avec 404 Not Found
lorsqu'il n'y a réellement aucun contenu, en demandant une page aléatoire. En fait, l'URL est également réservée : /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200
.
Par exemple, Chrome utilise ce chemin d'URL pour déterminer s'il peut s'attendre à une URL de modification du mot de passe appropriée de /.well-known/change-password
à l'avance.
Lorsque vous déployez /.well-known/change-password
, assurez-vous que votre serveur renvoie 404 Not Found
pour tout contenu inexistant.
Commentaires
Si vous avez des commentaires sur la spécification, veuillez signaler un problème dans le dépôt de spécifications.
Ressources
- URL connue pour modifier les mots de passe
- Détecter la fiabilité des codes d'état HTTP
- Bonnes pratiques concernant le formulaire de connexion
Photo de Matthew Brodeur sur Unsplash