0

私は自分のサイトで Google の 2 要素認証を使用していますが、「remember me」をチェックしたユーザーが次のエントリでキーを入力する必要がないようにしたいと考えています。「remember me」オプションで認証をバイパスすることは可能ですか? 潜在的な危険性は承知していますが、これを行う必要があります。

4

1 に答える 1

0

参考になるかわかりませんが、一応回答します。使用しているプログラミング言語を指定していないため、言語固有の回答を提供するのが少し難しくなります。このため、 C# ASP.NET MVC 2 要素認証の実装を書いた経験に基づいて回答します。、しかしアプローチは言語に依存しない必要があります。

ユーザーが認証手順全体 (ユーザー名/パスワード + TFA) をバイパスできるようにする「remember me」機能の実装を妨げるものは何もありません。実際には、2 要素認証が正しく実装されていると仮定して実装する他の「remember me」機能と何ら変わりはありません。

2 要素認証を正しく実装するということは、ログインは 2 段階のプロセスである必要があるということです (1 段階で行うこともできますが、使いやすさが低下するため、説明のためにそれらを分けておきます)。

  1. ユーザーは、ユーザー名とパスワードを指定します。有効なユーザー名とパスワードの組み合わせを提供すると、ステップ 2 に渡されますが、まだ認証されていません! ユーザーのログインが必要なページに移動できないようにする必要があります。
  2. ユーザーは、2 番目の要素を指定します。ユーザーが正しい第 2 要素を提供した場合にのみ、ユーザーは認証され、続行が許可されます。

私のコードでは、ステップ1で「remember me」チェックボックスがあり、ユーザーが有効なユーザー名とパスワードの組み合わせを提供した場合、UserProfileオブジェクトを保存し、セッションで「remember me」がチェックされているかどうかを確認して、ユーザーを2 番目の要素のページ。

次に、ユーザーがセッションに保存されているユーザーの正しい第 2 要素を提供した場合、ユーザーをログインさせます。ユーザーが「remember me」をチェックした場合は有効期限を Cookie に追加し、それ以外の場合は有効期限を空のままにします。ブラウザを閉じると有効期限が切れます。

それがあなたの質問に答えてくれることを願っています。私はここに私のウェブサイトから記事全体を複製しないように努めたので、何かを見逃したと思われる場合はお気軽にチェックしてください.それでも答えがない場合はお知らせください.私の答えを更新します。

于 2013-11-26T08:22:57.657 に答える