確認コードをチェックする

プロセスの最後のパートでは、受信したコードをユーザーに入力して、Verify APIによって送信されたコードと一致することを確認します。

まず、新しいルートを追加します:

config/routes.rb

次に、基本的なコントローラを作成します:

app/controllers/verifications_controller.rb

上記から、ブラウザがリダイレクトの無限ループに陥らないように、以前ApplicationControllerに追加したbefore_actionをスキップすることが重要です。

ユーザーが確認コードを入力できるようにするビューを作成します:

app/views/verifications/edit.html.erb

<div class="panel panel-default devise-bs">
  <div class="panel-heading">
    <h4>Verify code</h4>
  </div>
  <div class="panel-body">
    <%= form_tag verification_path(id: params[:id]), method: :put do %>
      <div class="form-group">
        <%= label_tag :code %><br />
        <%= number_field_tag :code, class: "form-control"  %>
      </div>
      <%= submit_tag 'Verify', class: "btn btn-primary" %>
    <% end %>
  </div>
</div>

<%= link_to 'Send me a new code', :root %>

その後、ユーザーはコードを新しいupdateアクションに送信します。このアクションでは、request_idcodeを取得し、check_verification_requestメソッドに受け渡す必要があります:

app/controllers/verifications_controller.rb

検証チェックが成功すると、ユーザーのステータスは検証済みに設定され、メインページにリダイレクトされます。チェックに失敗すると、何が問題になったかを示すメッセージが表示されます

セキュリティとスパム防止のための2要素認証

Rubyアプリケーションで2faを実装する方法を学ぶ

手順
1
はじめに
2
基本アプリケーションの作成
3
電話番号を要求する
4
確認リクエストを送信する
5
確認コードを確認する
6
お試しください!