Twilio Verify PHP Laravelクイックスタート
Twilio Verifyは、コーディングの負荷を大きく軽減します。コード数行の追加で、PHP Laravelアプリケーションによる電話番号認証、セキュリティ強化が可能です。
このPHP Verifyクイックスタートでは、Verify REST API、Twilio PHPヘルパーライブラリー、Laravel PHP Frameworkを使用し、簡単に開発する方法を説明します。
このクイックスタートでは、以下について説明します。
- Twilioにサインアップする
- 開発環境を設定する
- SMS電話認証を送信してみる
- 認証コードを確認する
多忙な人のために、こちらのTwilioのCode ExchangeとQuick Deployを使用すると、2分かからずに、編集可能なローコードの認証デモを起動できます。
Twilioにサインアップする
すでにTwilioアカウントをお持ちの場合は、このステップは必要ありません。次のステップに進んでください。
PHPから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通りの方法で行うことができます。
- Verifyコンソールで行う
- Verify APIを使用する
サービスの設定からは、名前(メッセージテンプレートに表示される)の編集、認証コード長(4~10文字)、ユーザーが認証コードを他の人と共有するのを防ぐための警告メッセージの有無などの設定が可能です。
これでTwilioアカウントとVerifyサービスが作成できたので、早速コードを書いてみましょう.次に、PHP用のTwilioヘルパーライブラリーをインストールします。
PHPコアをインストールする
すでに他のPHPクイックスタートをご覧になり、PHPとComposerをインストールしている場合は、このステップをスキップし、最初の認証メールを送信できます。
電話を認証し、最初のSMSを送信するには、PHP 7がインストールされている必要があります。PHPがインストールされているか不明な場合は、次のコマンドを実行すると、インストールされているバージョンを確認できます。
php --version
Twilio SDKではPHPバージョン5.3以降が必要です。ただし、5.3より古いバージョンはサポート対象外のため、このチュートリアルではPHP 7.1以降を使用します。
サポートされているバージョンのPHPがインストールされていない場合は、まずインストールします。手順に従い、ご利用のプラットフォーム(Windows、Mac、Linux)用のPHPをインストールします。
プロジェクトの依存関係は、Composerを使用して管理します。インストールされていない場合は、手順に従ってダウンロードし、インストールします。
認証アプリケーションのサンプルプログラムを構築する
最初に、VerifyクイックスタートのPHPリポジトリをクローンします。
git clone git@github.com:TwilioDevEd/verify-v2-quickstart-php.git
gitをインストールしていない場合や、ソースコードをダウンロードする場合は、こちらからプロジェクトのzipファイルを入手してください。
プロジェクトの依存関係をインストールする
次のコマンドを実行し、新しいプロジェクトディレクトリを入力します。
cd verify-v2-quickstart-php/
以下の手順でComposerをインストールし、起動します。
php composer.phar require Twilio/sdk
次のコマンドを実行し、.env.example
を.env
にコピーします。
cp .env.example .env
内容を更新し、Twilioアカウントの機密データを設定します。
# Twilio API credentials
# (find here https://www.twilio.com/console)
TWILIO_ACCOUNT_SID=ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Verification Service SID
# (create one here https://www.twilio.com/console/verify/services)
TWILIO_VERIFICATION_SID=VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ローカルSQLiteデータベースファイルを作成します。
touch database/twilio_verify_quickstart.sqlite (Unix like OS only)
データベースのマイグレーションを実行します。
php artisan migrate
アプリケーションキーを作成します。
php artisan key:generate
アプリケーションを実行します。
php artisan serve
すべての情報が正しく設定されている場合、アプリが起動したというメッセージがすぐに表示されます。
サンプルプログラムでTwilio Verifyを動かしてみる
http://localhost:8000/registerを開きます。次のような登録フォームが表示されます。
電話番号を入力し、どのチャネルで認証するか選択します。最後に、緑色の[Sign Up
](サインアップ)ボタンをクリックし、待ちます。入力した電話番号に音声通話が着信するか、認証トークンの記載されたSMSが届きます。音声通話で認証する場合は、セキュリティ強化のための操作が必要です。(電話のプッシュボタンで番号を入力するように求められます。)
トークンを認証入力フォームに入力し、[Verify](認証)をクリックします。
Twilio Verifyを使った電話認証が成功しました。ログアウトし、まだ試していないチャネルを試すことができます。
次のステップ
デモアプリは、不正ユーザーによる会員登録、データベースの書き換えを防止できるようになりました。次に、利用可能なすべての変数とオプションをVerify APIのリファレンスで確認します。
その後、Verify APIでサポートされている認証チャネル(以下)が追加されることを確認します。
最後に、不正行為からサービスを保護するために、Verifyを使用する際の不正利用防止に関するガイダンスをご覧ください。
サポートが必要ですか?
コーディングに関するご質問、ご不明点等ございましたら、お問い合わせからご連絡いただくか、TwilioのStack Overflow Collectiveにアクセスいただくか、Stack OverflowサイトでTwilioタグを検索してください。