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

Anfrage an /.well-known/change-password an die URL zum Ändern von Passwörtern weiterleiten

Richten Sie eine Weiterleitung von /.well-known/change-password zur Seite zum Ändern des Passworts 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 Methode zur Verwaltung von Konten. Glücklicherweise gibt es neue Technologien wie WebAuthn und Verfahren wie Einmalkennwörter, die uns einer Welt ohne Passwörter näherbringen. Diese Technologien befinden sich jedoch noch in der Entwicklung und es wird einige Zeit dauern, bis sich etwas ändert. Viele Entwickler werden sich noch mindestens einige Jahre lang mit Passwörtern auseinandersetzen müssen. Bis die neuen Technologien und Verfahren zum Standard werden, können wir zumindest die Verwendung von Passwörtern vereinfachen.

Eine gute Möglichkeit hierfür ist, Passwortmanager besser zu unterstützen.

So helfen Passwortmanager

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

Passwort für das richtige Eingabefeld automatisch ausfüllen: Einige Browser können das richtige Eingabefeld heuristisch ermitteln, 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 sich Passwortmanager merken, wo das Passwort gespeichert wurde, kann es nur an den entsprechenden 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 automatische Ausfüllen von Passwörtern mithilfe eines Passwortmanagers hat sich im Web bereits bewährt. Angesichts ihres Lebenszyklus ist es jedoch genauso wichtig, die Passwörter bei Bedarf zu aktualisieren. Um das richtig zu nutzen, fügen Passwortmanager eine neue Funktion hinzu:

Schwachstellen in Passwörtern erkennen und vorschlagen, sie zu aktualisieren: Passwortmanager können Passwörter erkennen, die wiederverwendet werden, ihre Entropie und Schwäche analysieren und sogar potenziell durchgesickerte Passwörter oder Passwörter erkennen, die aus Quellen wie Have I Been Pwned als unsicher bekannt sind.

Ein Passwortmanager kann Nutzer vor problematischen Passwörtern warnen. Es ist jedoch mit viel Aufwand verbunden, Nutzer aufzufordern, von der Startseite zu einer Seite zum Ändern des Passworts zu navigieren und dann das Passwort zu ändern (was von Website zu Website unterschiedlich ist). Es wäre viel einfacher, wenn Passwortmanager den Nutzer direkt zur URL zum Ändern des Passworts weiterleiten könnten. Hier ist eine bekannte URL zum Ändern von Passwörtern nützlich.

Durch die Reservierung eines bekannten URL-Pfads, der den Nutzer zur Seite zum Ändern des Passworts weiterleitet, kann die Website Nutzer ganz einfach an den richtigen Ort weiterleiten, um ihr Passwort zu ändern.

„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 nur 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 ist https://example.com und die URL zum Ändern des Passworts ist https://example.com/settings/password. Sie müssen Ihren Server nur so einrichten, dass Anfragen für https://example.com/.well-known/change-password an https://example.com/settings/password weitergeleitet werden. Das war's. Verwenden Sie für die Weiterleitung den HTTP-Statuscode 302 Found, 303 See Other oder 307 Temporary Redirect.

Alternativ können Sie HTML unter Ihrer .well-known/change-password-URL mit einem <meta>-Tag über eine http-equiv="refresh" bereitstellen.

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

HTML-Code der Seite zum Ändern des Passworts noch einmal ansehen

Ziel dieser Funktion ist es, den Passwortlebenszyklus des Nutzers flexibler zu gestalten. Sie haben zwei Möglichkeiten, dem Nutzer die Aktualisierung seines Passworts zu erleichtern:

  • Wenn für das Formular zum Ändern des Passworts 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 für das neue Passwort (in vielen Fällen sind es zwei Felder, um sicherzustellen, dass der Nutzer das neue Passwort richtig eingegeben hat) autocomplete="new-password" hinzu, damit der Passwortmanager ein generiertes Passwort vorschlagen kann.

Weitere Informationen

Wie es in der Praxis eingesetzt wird

Beispiele

Dank der Implementierung von /.well-known/change-password in Apple Safari ist die Funktion bereits seit einiger Zeit auf einigen wichtigen Websites verfügbar:

Probieren Sie sie selbst aus und tun Sie dasselbe für Ihre eigenen.

Browserkompatibilität

Eine bekannte URL zum Ändern von Passwörtern wird in Safari seit 2019 unterstützt. Der Passwortmanager von Chrome unterstützt diese Funktion ab Version 86 (die voraussichtlich Ende Oktober 2020 als stabile Version veröffentlicht wird). Andere Chromium-basierte Browser folgen möglicherweise. Firefox hält eine Implementierung für sinnvoll, hat aber bis August 2020 noch nicht signalisiert, dass dies geplant ist.

Funktionsweise des Passwortmanagers von Chrome

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

Der Passwortmanager von Chrome kann prüfen, ob Passwörter offengelegt wurden. Unter about://settings/passwords können Nutzer Passwörter prüfen für gespeicherte Passwörter ausführen und eine Liste der Passwörter aufrufen, die aktualisiert werden sollten.

Die 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 Aktionen aus:

  • Öffnen Sie die Seite zum Ändern des Passworts 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.
Was passiert, wenn der Server 200 OK zurückgibt, obwohl /.well-known/change-password nicht vorhanden ist?

Passwortmanager versuchen herauszufinden, 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 zu dieser URL weiterleiten. 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, da es einige Grenzfälle gibt:

  • Auf einer Website mit serverseitigem Rendering wird „Nicht gefunden“ angezeigt, wenn keine Inhalte, aber 200 OK vorhanden sind.
  • 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“ clientseitig, wenn kein Inhalt vorhanden ist.

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

Deshalb gibt es einen vorgeschlagenen Standardmechanismus, um zu ermitteln, 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 festzustellen, 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 für alle nicht vorhandenen Inhalte 404 Not Found zurückgibt.

Feedback

Wenn Sie Feedback zur Spezifikation haben, erstellen Sie bitte ein Problem im Spezifikations-Repository.

Ressourcen

Foto von Matthew Brodeur auf Unsplash