パスワード変更用のよく知られた URL を追加することで、ユーザーが簡単にパスワードを変更できるようにします

/.well-known/change-password へのリクエストをパスワード変更 URL にリダイレクトする

/.well-known/change-password からパスワード変更ページへのリダイレクトを設定します 確認できますこれにより、パスワード マネージャーでユーザーが そのページに直接移動できます

はじめに

ご存知のように、パスワードは 。 幸い、Google Cloud などの新しいテクノロジーが WebAuthn と、パスワードなどで認証するワンタイム パスワードなどの手法 パスワードレスの世界に身近に感じられるようになりましたただし、 テクノロジーは発展途上であり、物事は迅速に変化しません。多数 少なくとも今後数年間は、開発者は依然としてパスワードを 提供できます。新たなテクノロジーや手法が生まれるのを待つ間、 少なくとも、パスワードを使いやすくすることができます。

パスワード マネージャーのサポートを強化することをおすすめします。

パスワード マネージャーの仕組み

パスワード マネージャーは、ブラウザに組み込んだり、サードパーティ製アプリとして提供したりできます。 次のようなさまざまな方法でユーザーをサポートできます。

正しい入力フィールドにパスワードを自動入力: 一部のブラウザでは、 ウェブサイトがこのために最適化されていなくても、ヒューリスティック技術を使用して正しい入力を あります。ウェブ デベロッパーは HTML に正しくアノテーションを付けることでパスワード マネージャーをサポート 入力タグを使用します。

フィッシングを防止する: パスワード マネージャーはパスワードの保存場所を記憶するため パスワードは適切な URL でのみ自動入力でき、 フィッシング サイトです。

安全な固有のパスワードを生成する: 安全で一意のパスワードを作成する パスワード マネージャーによって直接生成、保存されるため、ユーザーが 覚えておく必要があります。

パスワード マネージャーを使用したパスワードの生成と自動入力は、すでに完了している ウェブにうまく機能しなかったが、そのライフサイクルを考慮して、 生成や自動入力と同じくらい重要です。宛先 活用すれば、パスワード マネージャーに次のような新機能が追加されます。

脆弱なパスワードを検出して更新を提案する: パスワード マネージャーは、 再利用されたパスワードを検出し、そのエントロピーと脆弱性を分析 漏洩した可能性のあるパスワードや安全でないことがわかっているパスワードも検出できます。 たとえば「Have I Been Pwned」などのソースがあります。

パスワード マネージャーは、問題のあるパスワードについてユーザーに警告できますが、 ユーザーにホームページからパスワード変更への移動を求める手間が省ける 実際にパスワードを変更するプロセス( サイトによって異なります)。パスワードマネージャーが パスワード変更 URL にユーザーを直接誘導する。ここで 変更のための well-known URL パスワードが有用になります。

変更にユーザーをリダイレクトする、よく知られた URL パスを予約する。 そのウェブサイトは、ユーザーを適切な場所に簡単にリダイレクトして、 変更します。

「パスワード変更に使用するよく知られた URL」を設定する

.well-known/change-password は、変更用のよく知られた URL として提案されます。 パスワード。やるべきことは .well-known/change-password のリクエストをリダイレクトするようにサーバーを設定します ウェブサイトのパスワード変更用 URL にリンクします。

たとえば、ウェブサイトが https://example.com で、 パスワードの URL は https://example.com/settings/password です。必要なのは リクエストをリダイレクトするために https://example.com/.well-known/change-passwordhttps://example.com/settings/password。以上です。リダイレクトには、 HTTP ステータスコードを 302 Found303 See Other307 Temporary Redirect のいずれかを選択します。

または、次のコマンドを使用して .well-known/change-password URL で HTML を配信することもできます。 <meta> タグに http-equiv="refresh"

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

パスワード変更ページの HTML にもう一度アクセスします

この機能は、ユーザーのパスワードのライフサイクルをより流動的にできるようにすることを目標としています。 ユーザーがパスワードを更新できないようにするには、 負荷:

  • パスワード変更フォームに現在のパスワードが必要な場合は、 autocomplete="current-password"<input> タグを追加してパスワードをサポート 自動的に入力されます。
  • 新しいパスワード フィールド(多くの場合、パスワードが確実に ユーザーが新しいパスワードを正しく入力した場合)は、 autocomplete="new-password"<input> タグを追加してパスワードをサポート 生成されたパスワードがマネージャーから提案されます。

詳しくは、ログイン フォームをおすすめします。 プラクティスをご覧ください。

実際の使用例

Apple Safari の 実装/.well-known/change-password は、すでに主要な しばらくの間、ウェブサイトは次のような状態になっています。

あなたもきっと自分もやってみてください!

ブラウザの互換性

Safari では、パスワード変更用の既知の URL がサポートされるようになりました。 2019 年。 Chrome のパスワード マネージャーでパスワード マネージャーがサポートされるのはバージョン 86 以降です (2020 年 10 月下旬に Stable 版リリースを予定) その他の Chromium ベースのブラウザも続く可能性があります。Firefox ではその価値を考慮しています 実装、 2020 年 8 月時点では移行を開始する予定であるという意思表示はありません。

Chrome のパスワード マネージャーの動作

Chrome のパスワード マネージャーで脆弱なパスワードがどのように処理されるかを見てみましょう。

Chrome のパスワード マネージャーで、パスワードの漏洩をチェックできます。ナビゲーション 人(about://settings/passwords 人のユーザー)が、保存されている情報に対してパスワードを確認できます 更新が推奨されるパスワードのリストが表示されます。

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph> Chrome のパスワード確認機能

ログインが推奨されるパスワードの横にある [パスワードを変更] ボタンをクリックすると、 更新されると、ブラウザは次の処理を行います。

  • /.well-known/change-password が次に該当する場合は、ウェブサイトのパスワード変更ページを開きます 確認します。
  • /.well-known/change-password が設定されていない場合にウェブサイトのホームページを開く Google はフォールバックを認識できません
/.well-known/change-password が存在しない場合でもサーバーが 200 OK を返す場合はどうなりますか?

パスワード マネージャーは、ウェブサイトが /.well-known/change-password にリクエストを送信してパスワードを変更する この URL にユーザーを転送しますリクエストが 404 Not Found を返す場合 URL が利用できないことは明らかですが、200 OK レスポンスは URL が利用可能であることを意味します。これは、次のような特殊なケースがあるためです。

  • サーバーサイド レンダリングを行うウェブサイトに「見つかりませんでした」と表示されるコンテンツがない場合 200 OK を使用します。
  • サーバーサイド レンダリングのウェブサイトは、200 OK 「Not found」にリダイレクトされた後のコンテンツできます。
  • シングルページ アプリが 200 OK でシェルに応答し、「Not 見つかりました」コンテンツがない場合にクライアント側で表示できます

このような特殊なケースでは、ユーザーは「Not Found」クリックすると 混乱の原因になります。

そのため Google Cloud の メカニズム 404 Not Found を返すようにサーバーが構成されているかどうかを判断します。 コンテンツが存在しない場合は、ランダムなページをリクエストします。実際、 次の URL も予約されています。 /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200。 たとえば Chrome では、この URL パスを使用して、 /.well-known/change-password から適切なパスワード変更用 URL を事前に取得してください。

/.well-known/change-password をデプロイする場合は、 存在しないコンテンツに対しては 404 Not Found を返します。

フィードバック

仕様に関するフィードバックがある場合は、仕様に関する問題を報告してください。 リポジトリをご覧ください。

リソース

写真撮影: Matthew BrodeurUnsplash より)