Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now

メニュー

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?

PythonおよびFlaskを使用したSMS2要素認証

このFlaskアプリケーションのサンプルでは、Twilioを使用して、SMS二要素認証の実装方法を示します。

To follow along with this tutorial yourself, please clone the repo from GitHub and follow the instructions there on starting the local server.

Adding two-factor authentication (2FA) to your web application increases the security of your user's data. Multi-factor authentication with Twilio will help you determine a user's identity in two steps:

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

ユーザーが検証コードを入力したら、彼らがSMSを受信し、本当に本人であることが分かります。 このチュートリアルでは標準的なSMSの実装を見ていきます。

        
        
        
        
        sms2fa_flask/confirmation_sender.py

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

        はじめましょう!

        検証コードを生成する

        ユーザーが老インしたら、彼らにワンタイム検証コードを送信します。

        検証コードを生成するには、rangeを引数として取ることができるrandom.randrangeを使用します。 100000〜999999の範囲で、ユーザーに6桁の検証コードを送信しましょう。

              
              
              
              
              sms2fa_flask/confirmation_sender.py

              検証コードを生成する

              sms2fa_flask/confirmation_sender.py

              続いて、これをTwilioのSMSで送信する方法を見てみましょう。

              検証コードを送信する

              検証コードを送信する

              Twilio Pythonヘルパーライブラリーを使用すると、SMSの送信を簡単に行えます。

              まずは、認証情報を使用してTwilio RESTクライアントを作成する必要があります。 続いて、REST APIを使用してSMSを送信できるようにするために今必要なのは、必要なパラメーターを伴った client.messages.create() を呼び出すことです。

              You can find the necessary credentials in the Twilio Console.

                    
                    
                    
                    
                    sms2fa_flask/confirmation_sender.py

                    検証コードを送信する

                    sms2fa_flask/confirmation_sender.py

                    Now that we know how to generate the verification code and send it, let's now look at how to kick off the signup process.

                    ユーザーを登録する

                    ユーザーを登録する

                    When a user signs up for your website, this controller creates the user and sends them the generated verification code.

                    二要素認証を実行するには、ユーザーの電話番号を求める必要があります。

                    Let's see how to implement the send_confirmation_code function.

                          
                          
                          
                          
                          sms2fa_flask/views.py

                          Now let's take a closer at how to proceed with the 2-step verification.

                          Let's Put It All Together!

                          すべてを組み合わせる

                          直前の手順で作成した構成要素を使用して、ようやくそれらをまとめまられます。

                          Note that we are using the Flask-Session extension for the storage of the generated code instead of putting it in the user session. User sessions in Flask are not the proper area to store sensitive information, and secrets can be extracted from the browser console. At a minimum, if you're going to store the validation code on the client side, use encrypted sessions with something like It's Dangerous, or use a server side solution like we're demonstrating here.

                                
                                
                                
                                
                                sms2fa_flask/confirmation_sender.py

                                さあいよいよ、2要素認証の実装への第2段階の幕開けです……

                                2段階の検証を実装する

                                2 ステップ検証の実装

                                When the user receives an SMS with the verification code it's on us to ensure the given code is valid.

                                この検証は、ユーザーのセッションの検証コードをユーザーがフォームに入力したコードと比較することで実現できます。

                                検証が成功した場合は、このプロセス内で封じられている保護されたデータへのアクセスを、アプリケーションがユーザーに許可します。 失敗した場合は、アプリケーションは検証コードを再度入力するよう指示します。

                                      
                                      
                                      
                                      
                                      sms2fa_flask/views.py

                                      一丁上がり! これで皆さんのアプリケーション内で使用できるSMSの2要素認証が実装できました。

                                      関連トピック

                                      関連トピック

                                      Twilioを使用するPython開発者なら、これらの素晴らしい他のチュートリアルをチェックせずにはいられないでしょう。

                                      自動アンケート

                                      音声通話または SMS テキストメッセージを介して調査を実施し、ユーザーから構造化データを迅速に収集します。

                                      クリック トゥー コール

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

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

                                      Thanks for checking out this tutorial! If you have any feedback to share with us, please reach out on Twitter... we'd love to hear your thoughts, and know what you're building!

                                      Jose Oliveros Ricky Holtz Agustin Camino David Prothero Samuel Mendes Paul Kamp Andrew Baker Kat King
                                      Rate this page:

                                      ヘルプが必要ですか?

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