メニュー

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

SMS Two-Factor Authentication with C# and ASP.NET MVC

This ASP.NET application example demonstrates how to implement an SMS two-factor authentication using Twilio.

このアプリケーションを自分で実行するには、コードをダウンロードし、GitHub の指示に従ってください

二要素認証(2FA)をウェブアプリケーションに追加すると、ユーザーのデータのセキュリティーが向上します。多要素認証では、2 つのステップでユーザーのアイデンティティーを特定します。

  1. まず、ユーザーをメールアドレスパスワードで検証します。
  2. 次に、ワンタイム検証コードを送信することで、ユーザーのモバイルデバイスを使用して彼(女)らを検証します。

ユーザーが検証コードを入力すれば、SMS をユーザーが受け取り、ユーザーが実際にその人であることを確認できます。これが標準的な SMS の実装です。

        
        
        
        
        SMS2FA.Web/App_Start/IdentityConfig.cs

        For a more advanced - and more secure - integration using Authy One-Touch, check out this tutorial.

        はじめましょう!

        二要素認証の追加

        This application uses ASP.NET Identity to manage authentication. In order to send verification codes through SMS, we need to create an implementation of IIdentityMessageService.

              
              
              
              
              SMS2FA.Web/App_Start/IdentityConfig.cs

              Configure SmsService to use our TwilioMessageSender

              SMS2FA.Web/App_Start/IdentityConfig.cs

              On this implementation we are just calling TwilioMessageSender.SendMessageAsync with the verification code message. This class is a wrapper around the Twilio Rest Client, and encapsulates the logic to send an SMS message through Twilio. Let's see how that's done next.

              Sending the SMS with Twilio

              Using Twilio to send SMS

              The Twilio C# helper library allows us to easily send an SMS.

              First we have to initialize the Twilio Rest Client with our credentials. Now all we have to do to send an SMS using the REST API is to call MessageResource.CreateAsync() with the necessary parameters.

                    
                    
                    
                    
                    SMS2FA.Web/Domain/Twilio/TwilioMessageSender.cs

                    A helper class to wrap the calls to the Twilio API

                    SMS2FA.Web/Domain/Twilio/TwilioMessageSender.cs

                    クレデンシャルは Twilio Account で確認できます。

                    Next, we need to register a two-factor provider.

                    二要素プロバイダーの登録

                    二要素プロバイダーの登録

                    個々のユーザー・アカウント認証には当初から二要素認証が提供されます。 二要素認証をセットアップするには、アプリケーションに正しいプロバイダーを登録することが必要です。

                    PhoneNumberTokenProvider を登録して、テキスト・メッセージを送信します。

                          
                          
                          
                          
                          SMS2FA.Web/App_Start/IdentityConfig.cs

                          Register the PhoneNumberTokenProvider to send text messages

                          SMS2FA.Web/App_Start/IdentityConfig.cs

                          Next, let's take a look at how we would send a verification code in an SMS with Twilio.

                          検証コードの送信

                          検証コードの送信

                          ユーザーがログインを試みるとき、アプリケーションはそのユーザーが入力された電話番号の持ち主であるか確認することが必要です。

                          ログインを検証するために6桁の検証コードの送信に使用されれる、登録済みの二要素認証プロバイダーがあります。

                                
                                
                                
                                
                                SMS2FA.Web/Controllers/AccountController.cs

                                検証コードの送信

                                SMS2FA.Web/Controllers/AccountController.cs

                                Now let's verify the user's code.

                                コードの検証

                                コードの検証

                                ユーザーは認証情報を使用してログインすることが必要です。

                                TwoFactorSignInAsync 有効期限のある検証コードにより、アプリケーションを総当たり攻撃から保護することを考慮します。 ユーザーが誤ったコードを入力したら、そのアカウントはロックされます。

                                検証が成功したら、アプリケーションはユーザーに保護されたコンテンツをアクセスすることを許可します。 そうでない場合は、アプリケーションは再度検証コードを入力するよう指示します。

                                      
                                      
                                      
                                      
                                      SMS2FA.Web/Controllers/AccountController.cs

                                      コードの検証

                                      SMS2FA.Web/Controllers/AccountController.cs

                                      一丁あがり! SMS二要素認証アプリケーションを実装しました。 

                                      関連トピック

                                      関連トピック

                                      あなたがASP.NET MVC開発者の場合、以下のような他のチュートリアルもご参照ください。

                                      自動アンケート

                                      音声通話またはSMSのテキスト・メッセージで行うアンケートで、構造化データをエンドユーザーから素早く収集しましょう。

                                      クリック トゥー コール

                                      クリックトゥコールはウェブトラフィックをボタンのクリック1つで、電話のトラフィックに変換します。クリックトゥコールの実装方法は数分で学ぶことができます。

                                      これは役に立ちましたか?

                                      Thanks for checking this tutorial out! If you have any feedback to share with us, we'd love to hear it. Contact us on Twiiter to let us know what you think.

                                      Jose Oliveros Agustin Camino David Prothero Kat King Hector Ortega Andrew Baker
                                      Rate this page:

                                      ヘルプが必要ですか?

                                      誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。