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

Anfragen an /.well-known/change-password an die URL „change-passwords“ weiterleiten

Richten Sie eine Weiterleitung von /.well-known/change-password zur Seite zum Ändern des Passworts auf Ihrer Website ein. So können Passwortmanager Ihre Nutzer direkt auf diese Seite weiterleiten.

Wie Sie vielleicht wissen, sind Passwörter nicht die beste Möglichkeit, Konten zu verwalten. Glücklicherweise gibt es neue Technologien wie WebAuthn und Verfahren wie Einmalpasswörter, die uns näher an eine Welt ohne Passwörter bringen. Diese Technologien befinden sich jedoch noch in der Entwicklungsphase und die Dinge werden sich nicht schnell ändern. Viele Entwickler werden sich noch mindestens die nächsten Jahre mit Passwörtern beschäftigen müssen. Während wir darauf warten, dass die neuen Technologien und Verfahren zur Passwortsicherheit alltäglich werden, können wir zumindest die Verwendung von Passwörtern vereinfachen.

Eine gute Möglichkeit, dies zu erreichen, ist eine bessere Unterstützung für Passwortmanager.

Vorteile von Passwortmanagern

Passwortmanager können in Browsern integriert oder als Drittanbieter-Apps bereitgestellt werden. Sie können Nutzern auf verschiedene Arten helfen:

Passwort automatisch in das richtige Eingabefeld einfügen: 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: Da Passwortmanager speichern, wo das Passwort erfasst wurde, kann es nur bei passenden URLs automatisch ausgefüllt werden, nicht aber 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 einziges Zeichen des Passworts merken.

Das Erstellen und automatische Ausfüllen von Passwörtern mit einem Passwortmanager hat sich im Web bereits bewährt. Angesichts des Lebenszyklus von Passwörtern ist es jedoch genauso wichtig, sie bei Bedarf zu aktualisieren. Um diese Funktion optimal zu nutzen, fügen Passwortmanager eine neue Funktion hinzu:

Anfällige Passwörter erkennen und deren Aktualisierung vorschlagen: Passwortmanager können Passwörter erkennen, die wiederverwendet werden, ihre Entropie und Schwachstellen analysieren und sogar potenziell gehackte Passwörter oder solche, die aus Quellen wie Have I Been Pwned als unsicher bekannt sind, erkennen.

Ein Passwortmanager kann Nutzer vor problematischen Passwörtern warnen, aber es ist sehr mühsam, Nutzer dazu zu bringen, von der Startseite zu einer Seite zum Ändern des Passworts zu wechseln und dann noch das Passwort selbst zu ändern (was von Website zu Website variiert). Es wäre viel einfacher, wenn Passwortmanager Nutzer direkt zur URL für die Passwortänderung weiterleiten könnten. Hier kommt eine bekannte URL zum Ändern von Passwörtern ins Spiel.

Wenn Sie einen bekannten URL-Pfad reservieren, über den Nutzer zur Seite zum Ändern des Passworts weitergeleitet werden, können Nutzer ganz einfach zur richtigen Stelle weitergeleitet werden, 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. Sie müssen lediglich Ihren Server so konfigurieren, dass Anfragen für .well-known/change-password an die URL zur Passwortänderung Ihrer Website weitergeleitet werden.

Angenommen, Ihre Website lautet https://example.com und die URL zum Ändern des Passworts ist https://example.com/settings/password. Sie müssen lediglich Ihren Server so konfigurieren, dass eine Anfrage für https://example.com/.well-known/change-password an https://example.com/settings/password weitergeleitet wird. Das war's. Verwenden Sie für die Weiterleitung den HTTP-Statuscode 302 Found, 303 See Other oder 307 Temporary Redirect.

Alternativ kannst du HTML mit einem <meta>-Tag über deine .well-known/change-password-URL mit einem http-equiv="refresh" bereitstellen.

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

HTML-Code der Seite zum Ändern des Passworts aufrufen

Mit dieser Funktion soll der Passwort-Lebenszyklus des Nutzers reibungsloser ablaufen. Sie haben zwei Möglichkeiten, Nutzern das Aktualisieren ihres Passworts zu erleichtern:

  • Wenn für Ihr Passwortänderungsformular das aktuelle Passwort erforderlich ist, fügen Sie dem <input>-Tag autocomplete="current-password" hinzu, damit der Passwortmanager es automatisch ausfüllen kann.
  • Fügen Sie dem <input>-Tag für das Feld „Neues Passwort“ (in vielen Fällen sind es zwei Felder, um sicherzustellen, dass der Nutzer das neue Passwort korrekt eingegeben hat) das Attribut autocomplete="new-password" hinzu, damit der Passwortmanager ein generiertes Passwort vorschlagen kann.

Weitere Informationen zu Best Practices für Anmeldeformulare

Anwendung in der Praxis

Beispiele

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

Probieren Sie sie selbst aus und machen Sie es auch mit Ihren eigenen.

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 Ende Oktober 2020 als stabile Version veröffentlicht wird. Andere Chromium-basierte Browser folgen möglicherweise. Firefox hält die Implementierung für sinnvoll, hat aber bis August 2020 nicht signalisiert, dass dies geplant ist.

Verhalten des Passwortmanagers von Chrome

Sehen wir uns an, wie der Passwortmanager von Chrome mit unsicheren Passwörtern umgeht.

Der Passwortmanager von Chrome kann nach geleakten Passwörtern suchen. Unter about://settings/passwords können Nutzer die Funktion Passwörter prüfen auf gespeicherte Passwörter anwenden und eine Liste der Passwörter aufrufen, die aktualisiert werden sollten.

Chrome-Funktion Passwörter prüfen

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

  • Öffnen Sie die Seite zum Ändern des Passworts auf der Website, wenn /.well-known/change-password richtig eingerichtet ist.
  • Öffnen Sie die Startseite der Website, wenn /.well-known/change-password nicht eingerichtet ist und Google den Fallback nicht kennt.

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

  • Auf einer website mit serverseitigem Rendering wird „Nicht gefunden“ angezeigt, wenn keine Inhalte vorhanden sind, aber mit 200 OK.
  • Eine serverseitig gerenderte Website antwortet mit 200 OK, wenn nach der Weiterleitung zur Seite „Nicht gefunden“ kein Inhalt vorhanden ist.
  • Eine Single-Page-App antwortet mit der Shell mit 200 OK und rendert die Seite „Nicht gefunden“ auf der Clientseite, wenn kein Inhalt vorhanden ist.

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

Deshalb gibt es einen vorgeschlagenen Standardmechanismus, mit dem ermittelt wird, ob der Server so konfiguriert ist, dass er mit 404 Not Found antwortet, wenn tatsächlich keine Inhalte vorhanden sind. Dazu wird eine zufällige Seite angefordert. Die URL ist ebenfalls reserviert: /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200. Chrome verwendet diesen URL-Pfad beispielsweise, um im Voraus zu ermitteln, ob von /.well-known/change-password eine gültige URL zum Ändern des Passworts erwartet werden kann.

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

Feedback

Wenn Sie Feedback zur Spezifikation haben, reichen Sie bitte ein Problem im Repository der Spezifikation ein.

Ressourcen

Foto von Matthew Brodeur auf Unsplash