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.

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 noch mindestens in den nächsten Jahren mit Passwörtern konfrontiert werden müssen. Während wir darauf warten, dass die neuen Technologien und Verfahren zur Passwortsicherheit alltäglich werden, können wir Passwörter zumindest einfacher machen.

Dazu bietet es sich an, Passwortmanager besser zu unterstützen.

Vorteile von Passwortmanagern

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

Das Passwort für das richtige Eingabefeld automatisch ausfüllen lassen: 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 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 Generieren und automatischen Ausfüllen von Passwörtern mithilfe eines Passwortmanagers hat sich im Web bereits bewährt. Angesichts ihres Lebenszyklus ist es jedoch genauso wichtig, Passwörter bei Bedarf zu aktualisieren wie das Generieren und das automatische Ausfüllen. 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.

Ein Beispiel: Ihre Website lautet https://example.com und die URL zur Passwortänderung 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

Ziel dieser Funktion ist es, den Passwortzyklus des Nutzers flüssiger zu gestalten. Es gibt zwei Möglichkeiten, um dem Nutzer die Möglichkeit zu geben, sein Passwort reibungslos zu aktualisieren:

  • 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 diese Funktion ab Version 86 (die für Ende Oktober 2020 für die stabile Version geplant ist). Weitere Chromium-basierte Browser können folgen. Firefox hält die Implementierung für sinnvoll, hat aber bis August 2020 nicht signalisiert, dass dies geplant ist.

Verhalten des Passwortmanagers in Chrome

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

Der Passwortmanager von Chrome kann nach gehackten 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, führt der Browser folgende Schritte aus:

  • Ö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 festzustellen, ob eine Website eine bekannte URL zum Ändern von Passwörtern unterstützt. Dazu senden sie eine Anfrage an /.well-known/change-password, bevor ein Nutzer tatsächlich an diese URL weitergeleitet wird. 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 serverseitige Website antwortet mit 200 OK, wenn nach der Weiterleitung zur Seite „Nicht gefunden“ keine Inhalte vorhanden sind.
  • 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 solchen Grenzfällen werden Nutzer zu einer Seite mit dem Status „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