ユーザーが既知のURLでパスワードを変更できるようにする

こんにちは!認証のためにデータを更新するプロセスを簡素化する方法について



、小さいながらも役立つ記事の翻訳を共有しています。


/.well-known/change-passwordからサイトのパスワード変更ページにリダイレクトます。これにより、パスワードマネージャーはユーザーをこのページに直接誘導できます。







前書き



パスワードは、アカウントを管理するための最良の方法ではありませんはい、WebAuthnやワンタイムパスワードなど、未来の世界を近づける新しいテクノロジーが登場しています。ただし、これらの方法はまだ進化しており、開発者は少なくとも今後数年間は確実にパスワードを使用する必要があります。新しいテクノロジーが私たちにとって当たり前になるまで、私たちは少なくとも私たちの生活を簡素化しようと試みることができます。



1つの方法は、パスワードマネージャーのサポートを強化することです。



パスワードマネージャーがどのように私たちを助けることができるか



パスワードマネージャーは、ブラウザーに組み込むことも、サードパーティのアプリケーションとして使用することもできます。それらの用途は何ですか?



適切なフィールドに正しいパスワードを入力するための自動完了。一部のブラウザは、サイトがこの目的のために最適化されていなくても、独自に必須フィールドを見つけます。そうすることで、Web開発者は、入力HTMLタグに正しく注釈を付けることにより、パスワードマネージャーの作業を容易にします



フィッシング攻撃の防止。パスワードマネージャーは、パスワードが入力された場所を記憶しているため、フィッシングサイトではなく、一致するURLに対してのみ自動的に入力できます。



強力で一意のパスワードを作成します。このようなパスワードは、パスワードマネージャーによって生成および保存されます。ユーザーはそれらを覚える必要はありません。



パスワードマネージャーを使用したパスワードの生成と自動入力はインターネットで一般的な選択肢ですが、そのライフサイクルを考慮する必要があります。パスワードの更新は、パスワードの生成と自動入力と同じくらい重要です。これを行うために、パスワードマネージャーは新しい機能を追加し



ます脆弱なパスワードを識別し、それらを置き換えることを提案します。パスワードマネージャーは、再利用されたパスワードを検出し、そのエントロピーと弱点を分析できます。また、潜在的に脆弱なパスワードや、Have I beenPwnedなどのソースによって安全でないと見なされたパスワードを特定できます



パスワードマネージャーは問題のあるパスワードについてユーザーに警告できますが、ここには多くの問題があります。サイトごとに異なる可能性があるパスワード変更プロセス自体に加えて、ホームページからパスワード変更ページに移動するようにユーザーに促す必要があります。もちろん、パスワードマネージャーがユーザーをパスワードの変更ページに直接リダイレクトできれば、はるかに簡単になります。このような状況で役立つ、よく知られたパスワード変更URLを次に示します。



パスワードの変更ページにリダイレクトする既知のURLパスを予約することにより、サイトはユーザーを適切な場所に簡単に移動してパスワードを変更できます。



既知のURL設定しパスワードを変更する



でパス.well知られている/パスワード変更がされると示唆パスワードを変更するためのよく知られたURL.well-known / change-passwordのリクエストをサイトのパスワード変更URLにリダイレクトするように、サーバーを構成するだけです



たとえば、Webサイトがexample.comで、パスワード変更URLがexample.com/settings/passwordであるとしますexample.com/.well-known/change-passwordからexample.com/settings/passwordリクエストをリダイレクトするようにサーバーを構成する必要があります。以上です!リダイレクトするには、HTTPステータスコード 302 Found303 See Other、またはを使用します307一時的なリダイレクト



または、http-equiv = "refresh"で<meta>タグ使用して、.well-known / change-passwordURLでHTMLを提供することもできます



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




パスワードリセットページのHTMLを確認してください



このフェーズの目標は、パスワードのライフサイクルをより柔軟にすることです。ユーザーが問題なくパスワードを更新するための2つの手順を実行できます。



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


ログインフォームの使用に関するガイドラインについて詳しくは、こちらをご覧ください



説明されているすべてが実際にどのように使用されているか



の例



Apple Safariのサポートの おかげで/。well-known / change-passwordがいくつかの主要なサイトで利用できるようになりました。





そこで登録フォームに記入してみて、あなたのサイトにも同じことをしてください!



ブラウザの互換性



よく知られているパスワードチェンジャーのURLは、2019年からSafariでサポートされていますChrome Password Managerは、バージョン86以降でサポートされています(安定したリリースは2020年10月下旬に予定されています)。他のChromiumベースのブラウザも同様に続く可能性があります。Firefoxは、パスワードマネージャーを実装する価値があると考えていますが、正確な情報はまだありません。



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



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



Chrome Password Managerは、漏洩したパスワードをチェックできます。行くときクローム://設定/パスワードページは、ユーザーがパスワードが保存されたものと一致して更新することが推奨されているもののリストを表示するかどうかを確認することができます。







[パスワードの変更]ブロックを選択すると、更新が推奨されるパスワードの横に、ブラウザに次のように表示されます。

  • /.well-known/change-passwordが正しく構成されている場合、サイトのパスワード変更ページを開きます。
  • /.well-known/change-passwordが構成されておらず、Googleがフォールバックを認識していない場合は、サイトのホームページを開きます




フィードバック



フィードバックや提案がある場合は、作成者のリポジトリにバグを投稿してください



役立つリソース





Matthew Brodeur による写真、Unsplashに投稿



All Articles