確認コードをチェックする
プロセスの最後のパートでは、受信したコードをユーザーに入力して、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_idとcodeを取得し、check_verification_requestメソッドに受け渡す必要があります:
app/controllers/verifications_controller.rb
検証チェックが成功すると、ユーザーのステータスは検証済みに設定され、メインページにリダイレクトされます。チェックに失敗すると、何が問題になったかを示すメッセージが表示されます
セキュリティとスパム防止のための2要素認証
Rubyアプリケーションで2faを実装する方法を学ぶ
手順
1
はじめに2
基本アプリケーションの作成3
電話番号を要求する4
確認リクエストを送信する5
確認コードを確認する6
お試しください!