Skip to content
Snippets Groups Projects
Unverified Commit 9519d553 authored by Eugen Rochko's avatar Eugen Rochko Committed by GitHub
Browse files

Fix SSO authentication not working due to missing agreement boolean (#9915)

Fix #9906
parent e1ec3a9f
No related branches found
No related tags found
No related merge requests found
......@@ -63,6 +63,7 @@ module Omniauthable
{
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,
......
......@@ -295,6 +295,7 @@ class User < ApplicationRecord
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] })
......@@ -304,6 +305,7 @@ class User < ApplicationRecord
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]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment