Skip to content

Instantly share code, notes, and snippets.

View 123ish's full-sized avatar

123ish LLC 123ish

View GitHub Profile
@123ish
123ish / two_factors_authentication.html.erb
Created June 24, 2020 00:35 — forked from kevinhq/two_factors_authentication.html.erb
Two-Factor authentication - form after login
<%# /app/views/users/sessions/two_factors_authentication.html.erb %>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :role => 'form', :method => 'POST' }) do |f| %>
<%= f.hidden_field :email, value: params[:user][:email] %>
<%= f.text_field :otp_response_code %>
<%= f.submit %>
<% end %>
@123ish
123ish / sessions_controller.rb
Created June 24, 2020 00:35 — forked from kevinhq/sessions_controller.rb
Two-Factor authentication with devise - override sessions controller
# /app/controllers/users/sessions_controller.rb
class Users::SessionsController < Devise::SessionsController
def create
self.resource = resource_class.find_for_authentication(sign_in_params.except(:password, :otp_response_code))
if resource
if resource.active_for_authentication?
if resource && resource.otp_module_disabled?
continue_sign_in(resource, resource_name)
elsif resource && resource.otp_module_enabled?
@123ish
123ish / Gemfile
Created June 24, 2020 00:34 — forked from kevinhq/Gemfile
Gemfile for Two-Factor authentication with devise and active_model_otp gem
gem 'devise', '~> 4.7.1'
gem 'active_model_otp', '~> 2.0.1'
gem 'rqrcode', '~> 1.1.2
@123ish
123ish / activate_2fa.html.erb
Created June 24, 2020 00:34 — forked from kevinhq/activate_2fa.html.erb
Two-Factor authentication form with QR code
<# /app/views/users/activate_2fa.html.erb %>
<%= @svg.html_safe %>
<%= form_for(@user, url: activate_2fa_update_path) do |f| %>
<%= f.text_field :otp_response_code %>
<%= f.submit %>
<% end %>