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.
Einführung
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 kein 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 Vorschläge zur Aktualisierung machen: Passwortmanager können Passwörter erkennen, die wiederverwendet werden, ihre Entropie und Schwäche 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>
-Tagautocomplete="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 Attributautocomplete="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 stabile Version wird Ende Oktober 2020 veröffentlicht). 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.
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.
200 OK
zurückgibt, obwohl /.well-known/change-password
nicht existiert?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 website mit serverseitigem Rendering 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
- Eine bekannte URL zum Ändern von Passwörtern
- Verlässlichkeit von HTTP-Statuscodes erkennen
- Best Practices für Anmeldeformulare
Foto von Matthew Brodeur auf Unsplash