module Rodauth::InternalRequestMethods

Attributes

flash[R]
internal_request_block[RW]
params[RW]
session[RW]

Public Instance Methods

add_recovery_codes_view() click to toggle source
   # File lib/rodauth/features/internal_request.rb
84 def add_recovery_codes_view
85   _return_from_internal_request(recovery_codes)
86 end
change_login_requires_password?()
change_password_requires_password?()
clear_session() click to toggle source
   # File lib/rodauth/features/internal_request.rb
53 def clear_session
54   @session.clear
55 end
close_account_requires_password?()
domain() click to toggle source
Calls superclass method
   # File lib/rodauth/features/internal_request.rb
41 def domain
42   d = super
43   if d.nil? || d == INVALID_DOMAIN
44     raise InternalRequestError, "must set domain in configuration, as it cannot be determined from internal request"
45   end
46   d
47 end
handle_internal_request(meth) click to toggle source
    # File lib/rodauth/features/internal_request.rb
106 def handle_internal_request(meth)
107   catch(:halt) do
108     _around_rodauth do
109       before_rodauth
110       send(meth, request)
111     end
112   end
113 
114   @internal_request_return_value
115 end
modifications_require_password?() click to toggle source
   # File lib/rodauth/features/internal_request.rb
68 def modifications_require_password?
69   false
70 end
only_json?() click to toggle source
    # File lib/rodauth/features/internal_request.rb
117 def only_json?
118   false
119 end
otp_setup_view() click to toggle source
   # File lib/rodauth/features/internal_request.rb
78 def otp_setup_view
79   hash = {:otp_setup=>otp_user_key}
80   hash[:otp_setup_raw] = otp_key if hmac_secret
81   _return_from_internal_request(hash)
82 end
raw_param(k) click to toggle source
   # File lib/rodauth/features/internal_request.rb
49 def raw_param(k)
50   @params[k]
51 end
require_login_confirmation?()
require_password_confirmation?()
set_error_flash(message) click to toggle source
   # File lib/rodauth/features/internal_request.rb
57 def set_error_flash(message)
58   @flash = message
59   _handle_internal_request_error
60 end
Also aliased as: set_redirect_error_flash
set_notice_flash(message) click to toggle source
   # File lib/rodauth/features/internal_request.rb
63 def set_notice_flash(message)
64   @flash = message
65 end
Also aliased as: set_notice_now_flash
set_notice_now_flash(message)
Alias for: set_notice_flash
set_redirect_error_flash(message)
Alias for: set_error_flash
two_factor_modifications_require_password?()
webauthn_auth_view() click to toggle source
    # File lib/rodauth/features/internal_request.rb
 97 def webauthn_auth_view
 98   cred = webauthn_credential_options_for_get
 99   _return_from_internal_request({
100     webauthn_auth: cred.as_json,
101     webauthn_auth_challenge: cred.challenge,
102     webauthn_auth_challenge_hmac: compute_hmac(cred.challenge)
103   })
104 end
webauthn_setup_view() click to toggle source
   # File lib/rodauth/features/internal_request.rb
88 def webauthn_setup_view
89   cred = new_webauthn_credential
90   _return_from_internal_request({
91     webauthn_setup: cred.as_json,
92     webauthn_setup_challenge: cred.challenge,
93     webauthn_setup_challenge_hmac: compute_hmac(cred.challenge)
94   })
95 end

Private Instance Methods

_handle_account_exists?(_) click to toggle source
    # File lib/rodauth/features/internal_request.rb
231 def _handle_account_exists?(_)
232   raise InternalRequestError, "no login provided" unless login = param_or_nil(login_param)
233   _return_from_internal_request(!!account_from_login(login))
234 end
_handle_account_id_for_login(_) click to toggle source
    # File lib/rodauth/features/internal_request.rb
225 def _handle_account_id_for_login(_)
226   raise InternalRequestError, "no login provided" unless login = param_or_nil(login_param)
227   raise InternalRequestError, "no account for login" unless account = account_from_login(login)
228   _return_from_internal_request(account[account_id_column])
229 end
_handle_account_id_for_remember_key(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
250 def _handle_account_id_for_remember_key(request)
251   load_memory
252   raise InternalRequestError, "invalid remember key"
253 end
_handle_internal_request_error() click to toggle source
    # File lib/rodauth/features/internal_request.rb
198 def _handle_internal_request_error
199   if @return_false_on_error
200     _return_from_internal_request(false)
201   else
202     raise InternalRequestError.new(flash: @flash, reason: @error_reason, field_errors: @field_errors)
203   end
204 end
_handle_internal_request_eval(_) click to toggle source
    # File lib/rodauth/features/internal_request.rb
220 def _handle_internal_request_eval(_)
221   v = instance_eval(&internal_request_block)
222   _set_internal_request_return_value(v) unless defined?(@internal_request_return_value)
223 end
_handle_lock_account(_) click to toggle source
    # File lib/rodauth/features/internal_request.rb
236 def _handle_lock_account(_)
237   raised_uniqueness_violation{account_lockouts_ds(session_value).insert(_setup_account_lockouts_hash(session_value, generate_unlock_account_key))}
238 end
_handle_otp_setup_params(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
255 def _handle_otp_setup_params(request)
256   request.env['REQUEST_METHOD'] = 'GET'
257   _handle_otp_setup(request)
258 end
_handle_remember_disable(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
245 def _handle_remember_disable(request)
246   params[remember_param] = remember_disable_param_value
247   _handle_remember(request)
248 end
_handle_remember_setup(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
240 def _handle_remember_setup(request)
241   params[remember_param] = remember_remember_param_value
242   _handle_remember(request)
243 end
_handle_valid_email_auth?(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
289 def _handle_valid_email_auth?(request)
290   _predicate_internal_request(:_handle_email_auth, request)
291 end
_handle_valid_login_and_password?(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
285 def _handle_valid_login_and_password?(request)
286   _predicate_internal_request(:_handle_login, request)
287 end
_handle_valid_otp_auth?(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
293 def _handle_valid_otp_auth?(request)
294   _predicate_internal_request(:_handle_otp_auth, request)
295 end
_handle_valid_recovery_auth?(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
297 def _handle_valid_recovery_auth?(request)
298   _predicate_internal_request(:_handle_recovery_auth, request)
299 end
_handle_valid_sms_auth?(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
301 def _handle_valid_sms_auth?(request)
302   _predicate_internal_request(:_handle_sms_auth, request)
303 end
_handle_webauthn_auth_params(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
265 def _handle_webauthn_auth_params(request)
266   request.env['REQUEST_METHOD'] = 'GET'
267   _handle_webauthn_auth(request)
268 end
_handle_webauthn_login_params(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
270 def _handle_webauthn_login_params(request)
271   _set_login_param_from_account
272   unless webauthn_login_options?
273     raise InternalRequestError, "no login provided" unless param_or_nil(login_param)
274     raise InternalRequestError, "no account for login"
275   end
276   webauthn_auth_view
277 end
_handle_webauthn_setup_params(request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
260 def _handle_webauthn_setup_params(request)
261   request.env['REQUEST_METHOD'] = 'GET'
262   _handle_webauthn_setup(request)
263 end
_predicate_internal_request(meth, request) click to toggle source
    # File lib/rodauth/features/internal_request.rb
279 def _predicate_internal_request(meth, request)
280   _return_false_on_error!
281   _set_internal_request_return_value(true)
282   send(meth, request)
283 end
_return_false_on_error!() click to toggle source
    # File lib/rodauth/features/internal_request.rb
206 def _return_false_on_error!
207   @return_false_on_error = true
208 end
_return_from_internal_request(value) click to toggle source
    # File lib/rodauth/features/internal_request.rb
193 def _return_from_internal_request(value)
194   _set_internal_request_return_value(value)
195   throw(:halt)
196 end
_set_internal_request_return_value(value) click to toggle source
    # File lib/rodauth/features/internal_request.rb
189 def _set_internal_request_return_value(value)
190   @internal_request_return_value = value
191 end
_set_login_param_from_account() click to toggle source
    # File lib/rodauth/features/internal_request.rb
210 def _set_login_param_from_account
211   if session_value && !params[login_param] && (account = _account_from_id(session_value))
212     params[login_param] = account[login_column]
213   end
214 end
account_from_key(token, status_id=nil) { |session_value| ... } click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
183 def account_from_key(token, status_id=nil)
184   return super unless session_value
185   return unless yield session_value
186   _account_from_id(session_value, status_id)
187 end
after_load_memory() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
143 def after_load_memory
144   super
145   _return_from_internal_request(session_value)
146 end
after_login() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
131 def after_login
132   super
133   _set_internal_request_return_value(account_id) unless @return_false_on_error
134 end
after_remember() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
136 def after_remember
137   super
138   if params[remember_param] == remember_remember_param_value
139     _set_internal_request_return_value("#{account_id}_#{convert_token_key(remember_key_value)}")
140   end
141 end
before_change_password_route() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
148 def before_change_password_route
149   super
150   params[new_password_param] ||= params[password_param]
151 end
before_email_auth_request_route() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
153 def before_email_auth_request_route
154   super
155   _set_login_param_from_account
156 end
before_login_route() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
158 def before_login_route
159   super
160   _set_login_param_from_account
161 end
before_reset_password_request_route() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
168 def before_reset_password_request_route
169   super
170   _set_login_param_from_account
171 end
before_unlock_account_request_route() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
163 def before_unlock_account_request_route
164   super
165   _set_login_param_from_account
166 end
before_verify_account_resend_route() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
173 def before_verify_account_resend_route
174   super
175   _set_login_param_from_account
176 end
before_webauthn_login_route() click to toggle source
Calls superclass method
    # File lib/rodauth/features/internal_request.rb
178 def before_webauthn_login_route
179   super
180   _set_login_param_from_account
181 end
internal_request?() click to toggle source
    # File lib/rodauth/features/internal_request.rb
123 def internal_request?
124   true
125 end
set_error_reason(reason) click to toggle source
    # File lib/rodauth/features/internal_request.rb
127 def set_error_reason(reason)
128   @error_reason = reason
129 end