これは、提供された電話番号のみを使用してユーザーをログインさせる認証フローです (Whatsapp スタイル)。手順は次のとおりです。
- ユーザーが電話番号を入力し、サーバーに送信します。
- サーバーは 4 桁のランダム キーを生成し、ペア (電話、キー) を DB に保存します。
- サーバーは、サードパーティの SMS サービスにキーを電話に送信するように依頼します。
- SMS サービスがメッセージを送信します。
- ユーザーは SMS からキーを入力し、電話と共にサーバーに送信されます。
- サーバーは DB に対してペアをチェックします。
- ペアが存在する場合、サーバーはさらなる呼び出しのためにトークンを送り返します。
私が理解しようとしているのは、Twilio や Nexmo などのサービスがどこに適合するか (またはフローの一部を置き換えるか) です。
私が理解していることから、たとえば Nexmo を見ると、手順 2 と 3 を
https://api.nexmo.com/verify/への API 呼び出しに置き換えて、応答からのrequest_idを DB にペア (電話) として
保存できます。 ,request_id)。
そして今、ユーザーが 4 桁のコードを入力して返送したら、https
://api.nexmo.com/verify/check/json を呼び出し
て request_id とコードを提供する必要があります。
しかし、request_id はどこで取得できますか?
サーバーは、Nexmo から情報を取得した瞬間にそれをクライアントに送り返す必要がありますか?
ここでは Nexmo を使用するメリットがわかりません。