module OmniAuth::MultiPassword::Base
Public Class Methods
included(base)
click to toggle source
# File lib/omniauth/multipassword/base.rb, line 6 def self.included(base) base.class_eval do option :title, 'Restricted Access' option :fields, %i[username password] uid { username } end end
Public Instance Methods
callback_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/multipassword/base.rb, line 33 def callback_phase if authenticate(username, request.params[password_id.to_s]) super else fail!(:invalid_credentials) end end
init_authenticator(request, env, username)
click to toggle source
# File lib/omniauth/multipassword/base.rb, line 27 def init_authenticator(request, env, username) @request = request @env = env @username = username end
other_phase()
click to toggle source
# File lib/omniauth/multipassword/base.rb, line 48 def other_phase # OmniAuth, by default, disables "GET" requests for security reasons. # This effectively disables showing a password form on a GET request to # the `request_phase`. Instead, we hook the GET requests here. if on_request_path? request_phase else call_app! end end
password_id()
click to toggle source
# File lib/omniauth/multipassword/base.rb, line 19 def password_id options.dig(:fields, 1) || 'password' end
request_phase()
click to toggle source
# File lib/omniauth/multipassword/base.rb, line 41 def request_phase OmniAuth::Form.build(title: options.title, url: callback_url) do |f| f.text_field 'Username', username_id f.password_field 'Password', password_id end.to_response end
username()
click to toggle source
# File lib/omniauth/multipassword/base.rb, line 23 def username @username || request.params[username_id.to_s].to_s end
username_id()
click to toggle source
# File lib/omniauth/multipassword/base.rb, line 15 def username_id options.dig(:fields, 0) || 'username' end