backend(mBaaS)。TwilioNCMBではID/パスワード認証やメールアドレス、ソーシャルメディアを使った認証を提供しています。昨今ではセキュリティを高めるために多要素認証を用いているサイトが多数あります。そこで、Twilioを使ってSMSによる確認コードを経由した会員登録ができないか試してみました。APIの流れを紹介します。APIを直接叩くことになるので、ライブラリではなくcurlコマンドベースでの紹介になります。Twilio上でユーザを作成します。必要な要素はメールアドレス、電話番号、そして国コードです。user[country_code]=81レスポンスはユーザ作成しましたというメッセージになります。3355759)も作成されます。"ユーザーの作成に成功しました。true}次にこのユーザ宛にSMSを送ります。AAAAAAAAAAA"レスポンスはSMSを送ったというメッセージになります。"cellphone":"+81-XXX-XXX-XX99"}そして携帯電話宛にSMSが届きます。コードが8660969だったとします。そのコードとユーザIDを使ってAPIを呼びます。AAAAAAAAAAA"コードが合っていれば、ユーザ登録完了した旨のメッセージが届きます。valid","success":"true","device":{"id":null,"os_type":"sms","registration_date":1527067667,"registration_method":null,"registration_country":null,"registration_region":null,"registration_city":null,"country":null,"region":null,"city":null,"ip":null,"last_account_recovery_at":null,"last_sync_date":null}}仕組みを考える以上の流れをNCMBの認証と結びつけていきます。認証用コードをNCMBに送信Twilioで確認。会員登録を実行してしまうと、ログインできる状態になってしまいます(当たり前ですが)。そこで、SMS認証前のフラグを設けておいて、そのフラグが立っていたらログイン実行後にエラーとする判定を加えます。TwilioはCORSによる制限でWebブラウザからの操作は許可していません。下記の情報をスクリプトに送ります。