Skip to content

Commit

Permalink
Fix SSO authentication not working due to missing agreement boolean (m…
Browse files Browse the repository at this point in the history
  • Loading branch information
Gargron authored and hiyuki2578 committed Oct 2, 2019
1 parent 4a649cc commit 7de52b3
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 0 deletions.
1 change: 1 addition & 0 deletions app/models/concerns/omniauthable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ def user_params_from_auth(auth)
{
email: email || "#{TEMP_EMAIL_PREFIX}-#{auth.uid}-#{auth.provider}.com",
password: Devise.friendly_token[0, 20],
agreement: true,
account_attributes: {
username: ensure_unique_username(auth.uid),
display_name: display_name,
Expand Down
2 changes: 2 additions & 0 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,7 @@ def reset_password!(new_password, new_password_confirmation)

def self.pam_get_user(attributes = {})
return nil unless attributes[:email]

resource =
if Devise.check_at_sign && !attributes[:email].index('@')
joins(:account).find_by(accounts: { username: attributes[:email] })
Expand All @@ -304,6 +305,7 @@ def self.pam_get_user(attributes = {})

if resource.blank?
resource = new(email: attributes[:email], agreement: true)

if Devise.check_at_sign && !resource[:email].index('@')
resource[:email] = Rpam2.getenv(resource.find_pam_service, attributes[:email], attributes[:password], 'email', false)
resource[:email] = "#{attributes[:email]}@#{resource.find_pam_suffix}" unless resource[:email]
Expand Down

0 comments on commit 7de52b3

Please sign in to comment.