You are viewing the Japanese site, but your language preference is set to English. Switch to English site →

Menu

Expand
Rate this page:

Twilio Verify Ruby on Rails Quickstart

Twilio Verifyは、コーディングの負荷を大きく軽減します。コード数行の追加で、Railsアプリケーションによる電話番号認証、セキュリティ強化が可能です。

このRuby Verifyクイックスタートでは、Verify REST API、Twilio Rubyヘルパーライブラリー、Ruby on Railsを使用し、簡単に開発する方法を説明します。

このクイックスタートでは、以下について説明します。

  1. Twilioにサインアップする
  2. 開発環境を設定する
  3. SMS電話認証を送信してみる
  4. 認証コードを確認する

多忙な人のために、こちらのTwilioのCode ExchangeとQuick Deployを使用すると、2分かからずに、編集可能なローコードの認証デモを起動できます。

Twilioにサインアップする

すでにTwilioアカウントをお持ちの場合は、このステップは必要ありません。次のステップに進んでください。

Ruby on RailsからSMSを送信する前に、Twilioアカウントにサインアップするか、すでにお持ちのアカウントにサインインします。

無料のTwilioトライアルアカウントには、こちらからサインアップできます。

  • サインアップの際に、お客様個人の電話番号を確認させていただきます。Twilioがお客様の身元を確認するためだけでなく、お客様が試用版のご利用中に、自分のTwilioアカウントから電話にテスト用の認証メッセージを送信するためのものです。このチュートリアルでは、まさにこの電話認証ステップの構築方法を学ぶことになります。
  • 電話番号が認証されると、プロジェクトの作成を求められます。このチュートリアルでは、"Learn and Explore"(学びながら探検)テンプレートを使用します。プロジェクトに名前を付けるか、"skip remaining steps"(残りのステップを省略)をクリックし、デフォルト値で続行します。
  • プロジェクト作成フローを終えると、Twilio Consoleにプロジェクトダッシュボードが表示されます。ここでは、アカウントSIDや認証トークンを取得したり、認証サービスを作成することができます。

電話番号の購入は必要ですか?

過去にTwilioでSMSを送信したことがある方は、Twilioで電話番号を購入されたのではないでしょうか。Twilio Verifyでは、Twilioが電話番号をご用意します。(ご自分でTwilioから電話番号を購入する必要はありません。)Verify APIは最適なルートを選択し、認証コードを迅速、確実にグローバル配信します。

Verifyサービスを作成する

Verifyを利用するためには、Verifyサービスを作成する必要があります。Verify APIリクエストを送信するには、Twilioの認証情報(アカウントSIDや認証トークン)とVerifyサービスSIDの両方が必要です。サービスの作成やアップデートは、次の2通りの方法で行うことができます。

  1. Verifyコンソールで行う
  2. Verify APIを使用する

サービスの設定からは、名前(メッセージテンプレートに表示される)の編集、認証コード長(4~10文字)、ユーザーが認証コードを他の人と共有するのを防ぐための警告メッセージの有無などの設定が可能です。

これでTwilioアカウントとVerifyサービスが作成できたので、早速コードを書いてみましょう。次に、Ruby用のTwilio Rubyヘルパーライブラリーをインストールします。

RubyとTwilio Rubyヘルパーライブラリーをインストールする

すでに他のRubyクイックスタートをご覧になり、RubyとTwilio Rubyヘルパーライブラリーをインストールしている場合は、このステップをスキップし、最初の認証メールを送信できます。

電話認証を開始するには、RubyとTwilio Rubyヘルパーライブラリーをインストールします。

Rubyをインストールする

Macをお使いの場合は、古いバージョンのRubyがすでにインストールされている可能性があります。homebrewを使用すれば、次のコマンドで最新バージョンをインストールできます。

brew install ruby 

Linuxマシンをお使いの場合は、デフォルトのパッケージマネージャーを使用してインストールできます。例えばUbuntuの場合は、次のコマンドを実行します。

sudo apt-get install ruby-full

他のディストリビューションのコマンドは、こちらのリストを参照してください。

Rubyがインストールされているかどうか、どのバージョンがインストールされているかを確認するには、ターミナルを開いて次のコマンドを実行します。

ruby --version

次のように表示されます。

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]

WindowsユーザーはRubyInstallerを使用します。

TwilioのRuby SDKでは、古いバージョンのRubyもサポートしています。ただし、このクイックスタートでは、使用する一部の依存関係との互換性を保つため、Ruby 2.3以降の使用をお勧めします。

        
        
        
        ユーザーの電話番号にワンタイムパスコードを送信します。

        SMS認証コードを送信する

        ユーザーの電話番号にワンタイムパスコードを送信します。
              
              
              
              ユーザーに送信したワンタイムパスコードを確認します。返されたJSONの「status」の値が「approved」であれば、指定したコードが正しいことを表します。

              認証コードを確認する

              ユーザーに送信したワンタイムパスコードを確認します。返されたJSONの「status」の値が「approved」であれば、指定したコードが正しいことを表します。

              認証アプリケーションのサンプルプログラムを構築する

              最初に、Railsリポジトリをクローンします。

              git clone git@github.com:TwilioDevEd/verify-v2-quickstart-rails.git

              gitをインストールしていない場合や、ソースコードをダウンロードする場合は、こちらからプロジェクトのzipファイルを入手してください。

              環境設定、依存パッケージをインストールする

              Ruby環境にbundlerをインストールします。次のコマンドを実行します。

              gem install bundler

              次に、サンプルプログラムで使用する依存パッケージをインストールします。インストールしたディレクトリに移動してbundlerを実行します。

              cd verify-v2-quickstart-rails
              
              bundle install

              .env.example.envにコピーします。ここで機密データを環境変数に格納します。

              cp .env.example .env

              .envファイルから環境変数が自動的に読み込まれ、ロードされます。最後に、SQLiteデータベースを自動的に準備してくれるMigrationを実行し、開発サーバーを起動します。

              rails db:migrate
              rails server

              環境変数にTwilioの資格情報が正しく設定されていれば、アプリケーションが起動したというメッセージが表示されます。

              サンプルプログラムでTwilio Verifyを動かしてみる

              http://localhost:3000/registerを開きます。次のような登録フォームが表示されます。

              sign up form with phone verification
              電話番号を入力し、どのチャネルで認証するか選択します。最後に、緑色の[Sign Up](サインアップ)ボタンをクリックし、待ちます。入力した電話番号に音声通話が着信するか、認証トークンの記載されたSMSが届きます。音声通話で認証する場合は、セキュリティ強化のための操作が必要です。(電話のプッシュボタンで番号を入力するように求められます。)

              トークンを認証入力フォームに入力し、[Verify](認証)をクリックします。

              verification entry form

              Twilio Verifyを使った電話認証が成功しました。

              次のステップ

              デモアプリは、不正ユーザーによる会員登録、データベースの書き換えを防止できるようになりました。次に、利用可能なすべての変数とオプションをVerify APIのリファレンスで確認します。

              その後、Verify APIでサポートされている認証チャネル(以下)が追加されることを確認します。

              最後に、不正行為からサービスを保護するために、Verifyを使用する際の不正利用防止に関するガイダンスをご覧ください。

              Samuel Mendes Mica Swyers
              Rate this page:

              Need some help?

              We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Community Forums or browsing the Twilio tag on Stack Overflow.

                    
                    
                    

                    Thank you for your feedback!

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

                    Sending your feedback...
                    🎉 Thank you for your feedback!
                    Something went wrong. Please try again.

                    Thanks for your feedback!

                    Refer us and get $10 in 3 simple steps!

                    Step 1

                    Get link

                    Get a free personal referral link here

                    Step 2

                    Give $10

                    Your user signs up and upgrade using link

                    Step 3

                    Get $10

                    1,250 free SMSes
                    OR 1,000 free voice mins
                    OR 12,000 chats
                    OR more