Aider les utilisateurs à changer facilement de mot de passe en ajoutant une URL connue pour changer de mot de passe

Rediriger une demande à /.well-known/change-password vers l'URL de modification des mots de passe

Eiji Kitamura
Eiji Kitamura

Définir une redirection de /.well-known/change-password vers la page de modification du mot de passe de votre site Web. Cela permettra aux gestionnaires de mots de passe de naviguer dans vos utilisateurs directement sur cette page.

Introduction

Comme vous le savez peut-être, les mots de passe ne sont pas la meilleure façon de gérer comptes Google. Heureusement, il existe 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 mots de passe. Toutefois, ces technologies sont encore en cours de développement et les choses ne vont pas changer rapidement. Beaucoup les développeurs devront s'occuper des mots de passe pour au moins quelques-uns ans. En attendant que les technologies et techniques émergentes fréquent, nous pouvons au moins faciliter l’utilisation des mots de passe.

Un bon moyen d’y parvenir est de fournir une meilleure assistance pour les gestionnaires de mots de passe.

Utilité des gestionnaires de mots de passe

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 la bonne entrée de manière heuristique, même si le site Web n'est pas optimisé pour cette l'objectif. Les développeurs Web peuvent aider les gestionnaires de mots de passe en annotant correctement les codes HTML tags d'entrée.

Éviter l'hameçonnage: les gestionnaires de mots de passe mémorisent l'emplacement du mot de passe. enregistré, le mot de passe ne peut être saisi automatiquement qu'aux URL appropriées, et non à vers des sites Web d'hameçonnage.

Générer des mots de passe uniques et sécurisés, car des 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 à vous 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à ont bien servi le Web, mais en tenant compte de leur cycle de vie, en mettant à jour les mots de passe chaque fois que cela est nécessaire est aussi important que la génération et la saisie automatique. À l’exploiter correctement, les gestionnaires de mots de passe ajoutent une nouvelle fonctionnalité:

Détectez les mots de passe vulnérables et suggérez 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 détecter les fuites de mots de passe ou les mots de passe connus pour être non sécurisés provenant de sources comme Have I Been Pwned.

Un gestionnaire de mots de passe peut avertir les utilisateurs en cas de mots de passe problématiques, mais il y a beaucoup de friction pour demander aux utilisateurs de naviguer de la page d'accueil à un changement de mot de passe en plus du processus de modification du mot de passe (qui varie d'un site à l'autre). Il serait beaucoup plus facile que les gestionnaires de mots de passe puissent rediriger l'utilisateur directement vers l'URL de modification du mot de passe. C'est là qu'un URL connue pour modifier mots de passe devient utile.

En réservant un chemin d'URL connu qui redirige l'utilisateur vers le changement page de mot de passe, le site Web peut facilement rediriger les utilisateurs vers le bon emplacement modifier leurs mots de passe.

Définir une "URL connue pour changer les mots de passe"

.well-known/change-password est proposé comme URL bien connue pour modifier mots de passe. Tout ce que vous avez à faire est afin de configurer votre serveur afin qu'il redirige les requêtes pour .well-known/change-password à l'URL de modification du mot de passe de votre site Web.

Par exemple, imaginons que votre site Web est https://example.com et que la variation l'URL du mot de passe est https://example.com/settings/password. Il vous suffit de définir votre serveur pour rediriger une demande de https://example.com/.well-known/change-password jusqu'à 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 sur votre URL .well-known/change-password avec une balise <meta> à l'aide d'un http-equiv="refresh"

<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">

Consulter de nouveau 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. Vous pouvez faire deux choses pour permettre à l'utilisateur de mettre à jour son mot de passe sans friction:

  • Si le formulaire de modification du mot de passe nécessite le mot de passe actuel, ajoutez autocomplete="current-password" à la balise <input> pour aider le mot de passe le remplir automatiquement.
  • Pour le nouveau champ de mot de passe (dans de nombreux cas, il s'agit de deux champs pour garantir que le l'utilisateur a correctement saisi le nouveau mot de passe), ajoutez autocomplete="new-password" à la balise <input> pour aider le mot de passe un mot de passe généré.

Pour en savoir plus, accédez à la page Meilleur formulaire de connexion pratiques.

Utilisation concrète

Exemples

Grâce à la version d'Apple Safari, l'implémentation, /.well-known/change-password est déjà disponible sur les principaux sites Web pendant un certain temps:

Essayez-les et faites de même pour la vôtre !

Compatibilité du navigateur

Une URL connue pour changer les mots de passe est compatible avec 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 fin octobre 2020) et d'autres navigateurs basés sur Chromium peuvent suivre. Firefox estime que l'implémentation, mais n'a pas signalé son intention de le faire à compter d'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 détecter les fuites de mots de passe. En naviguant à about://settings/passwords utilisateurs peuvent exécuter Vérifier les mots de passe par rapport aux et consultez la liste des mots de passe dont la mise à jour est recommandée.

Fonctionnalité Vérifier les mots de passe de Chrome

En cliquant sur le bouton Modifier le mot de passe situé à côté d'un mot de passe recommandé pour le navigateur:

  • Ouvrir la page de modification du mot de passe du site Web si /.well-known/change-password est correctement configuré.
  • Ouvrir la page d'accueil du site Web si /.well-known/change-password n'est pas configuré et Google ne connaît pas la solution de remplacement.
Que se passe-t-il si le serveur renvoie 200 OK même si /.well-known/change-password n'existe pas ?

Les gestionnaires de mots de passe tentent de déterminer si un site Web prend en charge une URL connue pour modifier les mots de passe en envoyant une demande à /.well-known/change-password avant le qui redirige réellement l'utilisateur vers cette URL. Si la requête renvoie 404 Not Found il est évident que l'URL n'est pas disponible, mais une réponse 200 OK ne l'est pas ne signifient pas nécessairement que l'URL est disponible, car il existe quelques cas particuliers:

  • Un site Web qui s'affiche côté serveur affiche le message "Introuvable" lorsqu'il n'y a pas de contenu mais avec 200 OK.
  • Un site Web avec un rendu côté serveur renvoie 200 OK en l'absence de code après la redirection vers la page "Introuvable" .
  • Une application monopage répond avec le shell avec 200 OK et affiche le message trouvé" du côté client lorsqu'il n'y a pas de contenu.

Pour ces cas limites, les utilisateurs seront redirigés vers une page et cela vous permettra peut être source de confusion.

C'est pourquoi nous proposons une norme mécanisme pour déterminer si le serveur est configuré pour répondre avec 404 Not Found lorsqu'il n'y a pas vraiment de 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 Chrome, par exemple, utilise ce chemin d'URL pour déterminer s'il doit attendre l'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 Le serveur renvoie 404 Not Found pour tout contenu qui n'existe pas.

Commentaires

Si vous souhaitez nous faire part de vos commentaires sur les spécifications, veuillez les signaler dans les spécifications. un dépôt de clés.

Ressources

Photo de Matthew Brodeur sur Unsplash