SMS認証コードを5分以内に送信
読む所要時間: 9 分
ワンタイムパスコード(OTP)は、サインアップ時にサインアップした人の電話番号を認証し、継続的なログイン認証、ボットの防止、適切な人物への確実な配信などを実現するためのシンプルで効果的な方法です。
電話番号の認証により、詐欺を減らし、 配信到達性と信頼性を高めることができます。その際、Twilio Verify APIを使用することで、OTPの送信と確認が簡素化されます。5分以内にVerifyを開始する方法をご紹介しましょう。
SMS認証コードの目的
SMSワンタイムパスコード(OTP)は、認証コードとも呼ばれ、ユーザーアカウントを保護し、ユーザーが自分のアカウントに関連付けられた電話番号にアクセスできるようにするためのツールです。これらは、ログイン時や、その他アカウント変更などの機密性が高いアクション前の認証に使用できます。SMS認証コードは、電話番号が初めてアカウントに追加されたときに、予約リマインダーのような継続的な通知など、他の目的で使用することもできます。
ワンタイムパスコード送信の前提条件
OTPを送信する前に、次のものが必要です。
- Twilioアカウント - サインアップまたはサインイン
- Verifyサービス - Twilio Consoleで作成可能。サービス名はSMS本文に表示されますが、後でいつでも編集できます。
(VAで始まる)Service SIDをコピーします。
SMS OTPの送信
下記のVerifications
エンドポイントのコードをコピーし、プレースホルダーを以下のものに置き換えます。
- 上記で作成したVerify Service SID
- テスト用の電話番号
- Twilio Account SIDとAuthトークン(Consoleのメインページ上)
# code samples in more languages: twilio.com/docs/verify/api/verification
curl -X POST "https://verify.twilio.com/v2/Services/$VERIFY_SERVICE_SID/Verifications" \
--data-urlencode "To=$YOUR_PHONE_NUMBER" \
--data-urlencode "Channel=sms" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
リクエストを実行すると、SMS OTPが送信されます。
SMS OTPの確認
Verifyを使用すると、OTPの送信と確認の両方が簡単になります。 下記の VerificationCheck
エンドポイントのコードをコピーし 、プレースホルダーを以下のものに置き換えます。
- 上記で作成したVerify Service SID
- 直前の手順で使用した電話番号
- 受け取ったコード
- Twilio Account SIDとAuthトークン(Consoleのメインページ上)
# code samples in more languages: twilio.com/docs/verify/api/verification-check
curl -X POST "https://verify.twilio.com/v2/Services/$VERIFY_SERVICE_SID/VerificationCheck" \
--data-urlencode "To=$YOUR_PHONE_NUMBER" \
--data-urlencode "Code=1234567" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
リクエストを実行します。OTPが正しければ status: "approved"
と表示されます。不適切なOTPを指定すると、ステータスは"pending"のままになります。
このように、非常に簡単です。
[オプション]Twilio Verifyアプリケーションのクイックデプロイ
Twilioにログイン していることを確認し、TwilioのCode Exchangeからワンタイムパスコード認証プロジェクト を開き、Verify Service SIDを貼り付けます。
次に、[Deploy my application](アプリケーションをデプロイする)をクリックします。数秒後、ライブアプリケーションを起動するためのボタンが表示されます。これをクリックし、新しいVerifyアプリケーションに移動します。
電話番号を入力し、Verify
を押してテストします。これで、共有して利用できるサンプルアプリケーションが完成しました。
アプリケーション内でVerify OTPを使用する方法
実際には、これでは何も保護できないことにお気づきかもしれませんが、私のように、コードをコピーして変更する作業が好きな方もいるでしょう。こちらの例では、次の構成要素が得られます。
- 国際電話番号の入力(詳細はこの記事を参照)
- OTPの送信
- OTPの確認
- CodeExchangeでのSMS電話認証
これをお客様独自のアプリケーションで認証を送信、確認する際の土台として使用できます。メールチャネルの場合は、さらにもう少しセットアップする必要がありますが、すべての手順の概要がドキュメントに記載されています。
Verifyの使用開始の詳細については、次のリソースを参照してください。
- Verify Fraud GuardがSMSポンピングからユーザーを保護する方法
- レート制限を受けずにVerify APIをテストする方法
- ExpressとTwilio Verifyを使用してSMSでユーザーを認証する方法
- Programmable MessagingからVerifyへの移行
- Verify APIのリファレンスドキュメント
- Verify SMSの概要
お客様の成功が私たちの喜びです。