動作確認
それでは、実際に二要素認証の動作を確認してみましょう。
二要素認証の有効化
まずは、二要素認証を使えるようにしましょう。新たなユーザーを登録し、アカウントの確認を行い、ログインします。そして、ログイン後画面の右上の「Hello, (メールアドレス)!」と書かれたリンクをクリックしてユーザーの管理画面に移動します(図2)。
管理画面では、「2要素認証」欄の[有効化]リンクをクリックすることで、二要素認証を有効にできます(図3)。有効にすると、「2要素認証」欄の表示が「有効」に、リンクが[無効化]に変化します。
二要素認証でのログイン
二要素認証が有効になったところで、実際に二要素認証によるログインを行ってみましょう。ログイン済みであれば一度ログアウトします。
まず、通常の手順と同様に、ログイン画面からユーザー、パスワードを入力してログインします。すると、二要素認証の確認コード送信画面が表示されます(図4)。
「2要素認証プロバイダーを選択する」欄では、SMS送信先の電話番号をまだ設定していませんので、「コードをメールで送信する」しか選べませんが、そのまま「送信」ボタンをクリックします。すると、ユーザー登録時に設定したメールアドレス宛に、確認コードが送信されます(図5)。
また、メールが送信されるとともに、確認コード入力画面が表示されます。この画面で、先ほどのメールに添付された確認コードを入力し、「送信」ボタンをクリックすることで、ログインが完了します(図6)。
まとめ
今回はASP.NET Identity 2.0で追加されたメールと連携する機能の内、「二要素認証」を紹介しました。まとめると次のようになります。
-
「二要素認証」はユーザー、パスワードによる認証に加えて、メールやSMS等で送った一時パスワードによる認証を行う機能
- 「アカウントの確認」とセットで使用する必要がある
- 「二要素認証」を行うかどうかは、ユーザーが管理画面で設定する
-
一時パスワードは「確認コード」と呼ばれ、送信先を選んで送信する
- SMSで送信するには電話番号の登録が必要
- メールで送信された「確認コード」を確認コード入力画面で入力することで認証を完了する
次回はASP.NET Identity 1.0の頃からサポートされている、Google、Microsoft Account、Twitter等の外部のソーシャルアカウントを使った認証方法について紹介する予定です。お楽しみに。