確認リクエストを送信する
ユーザーが自分の電話番号をアカウントに追加できるようになったので、サイトにログインするときにその番号を使用して確認することができます。
Verify APIを使用するには、プロジェクトにnexmo gemを追加する必要があります。APIキーとシークレットを使用するようにnexmo gemを設定する必要もあります。これは.envファイルからロードされます。
アプリケーションのGemfileに次の行を追加します:
gem 'nexmo'
gem 'dotenv-rails', groups: [:development, :test]
次に、アプリケーションのルートディレクトリに.envファイルを作成し、Developer DashboardにあるAPIキーとシークレットを設定します:
.env
VONAGE_API_KEY=your_api_key
VONAGE_API_SECRET=your_api_secret
ユーザーは2要素認証が有効になっているかどうかを確認するbefore_actionをApplicationControllerに追加します。その場合は、続行を許可する前に検証されていることを確認してください:
app/controllers/application_controller.rb
ユーザーが確認を必要とするかどうかを判断するには、電話番号で登録されているかどうか、および:verifiedセッションプロパティが設定されていないことを確認します:
app/controllers/application_controller.rb
検証プロセスを開始するには、Nexmo::Clientオブジェクトでsend_verification_requestを呼び出します。APIキーとシークレットは、.envで設定した環境値によって既に初期化されているため、APIキーとシークレットを受け渡す必要はありません:
app/controllers/application_controller.rb
検証要求には、Webアプリケーションの名前を渡します。これは、ユーザーが受信したテキストメッセージで使用され、どこから来たかを認識することができます。
メッセージが正常に送信された場合は、受信したコードを入力できるページにユーザーをリダイレクトする必要があります。これを行い、次のステップでコードが正しいかどうかを確認します。
セキュリティとスパム防止のための2要素認証
Rubyアプリケーションで2faを実装する方法を学ぶ