diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-08-27 11:29:03 +0200 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2021-08-27 11:29:03 +0200 |
commit | 463d23dfd5bdad1941807a8caf988f95a97050fd (patch) | |
tree | 180fda300a6d5782329e5e505e57fff6fd3de202 /app/controllers/concerns/sign_in_token_authentication_concern.rb | |
parent | 70909c5b094523b0cf77123a2566310b2f148e24 (diff) | |
parent | 7283a5d3b94b655172744996ffa43ec80aff0e08 (diff) |
Merge branch 'main' into glitch-soc/merge-upstream
Diffstat (limited to 'app/controllers/concerns/sign_in_token_authentication_concern.rb')
-rw-r--r-- | app/controllers/concerns/sign_in_token_authentication_concern.rb | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/app/controllers/concerns/sign_in_token_authentication_concern.rb b/app/controllers/concerns/sign_in_token_authentication_concern.rb index 016ab8f52..4eb3d7181 100644 --- a/app/controllers/concerns/sign_in_token_authentication_concern.rb +++ b/app/controllers/concerns/sign_in_token_authentication_concern.rb @@ -16,14 +16,18 @@ module SignInTokenAuthenticationConcern end def authenticate_with_sign_in_token - user = self.resource = find_user - - if user.present? && session[:attempt_user_id].present? && session[:attempt_user_updated_at] != user.updated_at.to_s - restart_session - elsif user_params.key?(:sign_in_token_attempt) && session[:attempt_user_id] - authenticate_with_sign_in_token_attempt(user) - elsif user.present? && user.external_or_valid_password?(user_params[:password]) - prompt_for_sign_in_token(user) + if user_params[:email].present? + user = self.resource = find_user_from_params + prompt_for_sign_in_token(user) if user&.external_or_valid_password?(user_params[:password]) + elsif session[:attempt_user_id] + user = self.resource = User.find_by(id: session[:attempt_user_id]) + return if user.nil? + + if session[:attempt_user_updated_at] != user.updated_at.to_s + restart_session + elsif user_params.key?(:sign_in_token_attempt) + authenticate_with_sign_in_token_attempt(user) + end end end |