Nutzern das Ändern von Passwörtern erleichtern, indem Sie eine bekannte URL zum Ändern von Passwörtern hinzufügen

Anfrage von /.well-known/change-password an die URL zur Passwortänderung weiterleiten

Richten Sie eine Weiterleitung von /.well-known/change-password zur Seite zur Passwortänderung Ihrer Website ein. Dadurch können Passwortmanager Nutzer direkt zu dieser Seite leiten.

Einleitung

Wie Sie vielleicht wissen, sind Passwörter nicht die beste Möglichkeit, Konten zu verwalten. Zum Glück gibt es neue Technologien wie WebAuthn und Techniken wie Einmalpasswörter, die uns helfen, einer Welt ohne Passwörter näher zu kommen. Diese Technologien befinden sich jedoch noch in der Entwicklung und die Dinge werden sich nicht schnell ändern. Viele Entwickler müssen sich noch mindestens in den nächsten Jahren mit Passwörtern auseinandersetzen. Während wir darauf warten, dass sich die neuen Technologien und Techniken durchsetzen, können wir zumindest die Verwendung von Passwörtern vereinfachen.

Ein guter Weg, dies zu erreichen, ist eine bessere Unterstützung für Passwortmanager.

Vorteile von Passwortmanagern

Passwortmanager können in Browser integriert oder als Apps von Drittanbietern bereitgestellt werden. Sie können Nutzenden auf verschiedene Weise helfen:

Passwort automatisch für das richtige Eingabefeld ausfüllen: Einige Browser können die richtige Eingabe heuristisch finden, auch wenn die Website nicht für diesen Zweck optimiert ist. Webentwickler können Passwortmanagern helfen, indem sie HTML-Eingabe-Tags richtig annotieren.

Phishing verhindern: Passwortmanager merken sich, wo das Passwort aufgezeichnet wurde. Deshalb kann das Passwort nur an entsprechenden URLs automatisch ausgefüllt werden und nicht auf Phishing-Websites.

Starke und eindeutige Passwörter generieren: Da starke und eindeutige Passwörter direkt vom Passwortmanager generiert und gespeichert werden, müssen sich Nutzer nicht ein einzelnes Zeichen des Passworts merken.

Das Generieren und automatisches Ausfüllen von Passwörtern mithilfe eines Passwortmanagers ist im Web bereits eine gute Lösung. Angesichts ihres Lebenszyklus ist es jedoch genauso wichtig, die Passwörter bei Bedarf zu aktualisieren wie das Generieren und Autofill. Um dies richtig zu nutzen, fügen Passwortmanager eine neue Funktion hinzu:

Anfällige Passwörter erkennen und aktualisieren lassen: Passwortmanager können wiederverwendete Passwörter erkennen, ihre Entropie und Schwäche analysieren und sogar potenziell gehackte Passwörter oder solche, die aus Quellen wie Habe I Been Pwned als unsicher bekannt sind, erkennen.

Ein Passwortmanager kann Nutzer vor problematischen Passwörtern warnen. Allerdings ist es schwierig, Nutzer aufzufordern, von der Startseite zu einer Seite zur Passwortänderung zu gelangen, nicht nur den eigentlichen Prozess der Passwortänderung (der von Website zu Website unterschiedlich ist). Es wäre viel einfacher, wenn Passwortmanager Nutzer direkt zur URL zur Passwortänderung weiterleiten könnten. Hier bietet sich eine bekannte URL zum Ändern von Passwörtern an.

Durch die Reservierung eines bekannten URL-Pfads, der den Nutzer zur Seite zur Passwortänderung weiterleitet, kann die Website Nutzer einfach an die richtige Stelle weiterleiten, um ihr Passwort zu ändern.

Eine bekannte URL zum Ändern von Passwörtern einrichten

.well-known/change-password wird als bekannte URL zum Ändern von Passwörtern vorgeschlagen. Dazu musst du nur deinen Server so konfigurieren, dass Anfragen für .well-known/change-password an die URL zur Passwortänderung deiner Website weitergeleitet werden.

Beispiel: Ihre Website heißt https://example.com und die URL zur Passwortänderung lautet https://example.com/settings/password. Du musst nur festlegen, dass dein Server eine Anfrage für https://example.com/.well-known/change-password an https://example.com/settings/password weiterleitet. Das wars. Verwenden Sie für die Weiterleitung den HTTP-Statuscode 302 Found, 303 See Other oder 307 Temporary Redirect.

Alternativ können Sie HTML-Code an Ihre .well-known/change-password-URL mit einem <meta>-Tag mithilfe von http-equiv="refresh" bereitstellen.

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

Rufen Sie den HTML-Code der Seite zur Passwortänderung noch einmal auf.

Das Ziel dieser Funktion ist es, den Passwortlebenszyklus fließender zu gestalten. Es gibt zwei Möglichkeiten, dem Nutzer die Möglichkeit zu geben, sein Passwort problemlos zu aktualisieren:

  • Wenn das Formular zur Passwortänderung das aktuelle Passwort benötigt, fügen Sie autocomplete="current-password" in das <input>-Tag ein, damit der Passwortmanager es automatisch ausfüllen kann.
  • Fügen Sie für das neue Passwortfeld (in vielen Fällen zwei Felder, um sicherzustellen, dass der Nutzer das neue Passwort korrekt eingegeben hat) autocomplete="new-password" in das Tag <input> ein, damit der Passwortmanager ein generiertes Passwort vorschlagen kann.

Weitere Informationen findest du unter Best Practices für Anmeldeformulare.

Wie sie in der Praxis verwendet werden

Beispiele

Dank der Implementierung von Apple Safari, /.well-known/change-password, ist bereits seit einiger Zeit auf einigen großen Websites verfügbar:

Probieren Sie sie selbst aus und tun Sie das Gleiche für Ihre.

Browserkompatibilität

Eine bekannte URL zum Ändern von Passwörtern wird seit 2019 in Safari unterstützt. Der Passwortmanager von Chrome unterstützt sie ab Version 86. Die stabile Version ist für Ende Oktober 2020 geplant. Weitere Chromium-basierte Browser werden möglicherweise folgen. Firefox erachtet eine Implementierung als lohnenswert, hat aber nicht angegeben, dass dies für August 2020 geplant ist.

Verhalten des Passwortmanagers von Chrome

Sehen wir uns einmal genauer an, wie der Passwortmanager von Chrome mit anfälligen Passwörtern umgeht.

Der Passwortmanager von Chrome kann nach gehackten Passwörtern suchen. Unter about://settings/passwords können Nutzer Passwörter mit gespeicherten Passwörtern prüfen ausführen und sich eine Liste mit Passwörtern ansehen, die für die Aktualisierung empfohlen werden.

Chrome-Funktion Passwörter prüfen

Wenn Sie neben einem Passwort, das aktualisiert werden soll, auf die Schaltfläche Passwort ändern klicken, geschieht Folgendes:

  • Wenn /.well-known/change-password richtig eingerichtet ist, wird die Seite zur Passwortänderung der Website geöffnet.
  • Öffnen Sie die Startseite der Website, wenn /.well-known/change-password nicht eingerichtet ist und Google das Fallback nicht kennt.
Was passiert, wenn der Server 200 OK zurückgibt, selbst wenn /.well-known/change-password nicht vorhanden ist?

Passwortmanager versuchen herauszufinden, ob eine Website eine bekannte URL zum Ändern von Passwörtern unterstützt. Dazu wird eine Anfrage an /.well-known/change-password gesendet, bevor ein Nutzer tatsächlich an diese URL weitergeleitet wird. Wenn die Anfrage 404 Not Found zurückgibt, ist es offensichtlich, dass die URL nicht verfügbar ist. Eine 200 OK-Antwort bedeutet jedoch nicht unbedingt, dass die URL verfügbar ist. Es gibt einige Grenzfälle:

  • Auf einer Website, die serverseitig gerendert wird, wird „Nicht gefunden“ angezeigt, wenn keine Inhalte vorhanden sind, aber mit 200 OK.
  • Eine Website, die serverseitig rendert, antwortet mit 200 OK, wenn nach der Weiterleitung auf die Seite „Nicht gefunden“ keine Inhalte vorhanden sind.
  • Eine Single-Page-Anwendung antwortet mit der Shell mit 200 OK und rendert die Seite „Nicht gefunden“ auf Clientseite, wenn keine Inhalte vorhanden sind.

In diesen Grenzfällen werden Nutzer auf eine „Nicht gefunden“-Seite weitergeleitet, was zu Verwirrung führen kann.

Aus diesem Grund wird ein Standardmechanismus vorgeschlagen, um festzustellen, ob der Server so konfiguriert ist, dass er mit 404 Not Found antwortet, wenn tatsächlich kein Inhalt vorhanden ist, indem eine zufällige Seite angefordert wird. Die URL ist auch reserviert: /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200. Chrome verwendet beispielsweise diesen URL-Pfad, um zu bestimmen, ob im Voraus eine korrekte URL zur Passwortänderung von /.well-known/change-password zu erwarten ist.

Achten Sie beim Bereitstellen von /.well-known/change-password darauf, dass Ihr Server für alle nicht vorhandenen Inhalte 404 Not Found zurückgibt.

Feedback

Wenn Sie Feedback zur Spezifikation haben, wenden Sie sich bitte an das Spezifikations-Repository.

Ressourcen

Foto von Matthew Brodeur bei Unsplash