mirror of
https://github.com/lunaisnotaboy/mastodon.git
synced 2024-12-30 17:16:41 +00:00
Fix SSO authentication not working due to missing agreement boolean (#9915)
Fix #9906
This commit is contained in:
parent
e1ec3a9f09
commit
9519d55332
|
@ -63,6 +63,7 @@ module Omniauthable
|
||||||
{
|
{
|
||||||
email: email || "#{TEMP_EMAIL_PREFIX}-#{auth.uid}-#{auth.provider}.com",
|
email: email || "#{TEMP_EMAIL_PREFIX}-#{auth.uid}-#{auth.provider}.com",
|
||||||
password: Devise.friendly_token[0, 20],
|
password: Devise.friendly_token[0, 20],
|
||||||
|
agreement: true,
|
||||||
account_attributes: {
|
account_attributes: {
|
||||||
username: ensure_unique_username(auth.uid),
|
username: ensure_unique_username(auth.uid),
|
||||||
display_name: display_name,
|
display_name: display_name,
|
||||||
|
|
|
@ -295,6 +295,7 @@ class User < ApplicationRecord
|
||||||
|
|
||||||
def self.pam_get_user(attributes = {})
|
def self.pam_get_user(attributes = {})
|
||||||
return nil unless attributes[:email]
|
return nil unless attributes[:email]
|
||||||
|
|
||||||
resource =
|
resource =
|
||||||
if Devise.check_at_sign && !attributes[:email].index('@')
|
if Devise.check_at_sign && !attributes[:email].index('@')
|
||||||
joins(:account).find_by(accounts: { username: attributes[:email] })
|
joins(:account).find_by(accounts: { username: attributes[:email] })
|
||||||
|
@ -304,6 +305,7 @@ class User < ApplicationRecord
|
||||||
|
|
||||||
if resource.blank?
|
if resource.blank?
|
||||||
resource = new(email: attributes[:email], agreement: true)
|
resource = new(email: attributes[:email], agreement: true)
|
||||||
|
|
||||||
if Devise.check_at_sign && !resource[:email].index('@')
|
if Devise.check_at_sign && !resource[:email].index('@')
|
||||||
resource[:email] = Rpam2.getenv(resource.find_pam_service, attributes[:email], attributes[:password], 'email', false)
|
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]
|
resource[:email] = "#{attributes[:email]}@#{resource.find_pam_suffix}" unless resource[:email]
|
||||||
|
|
Loading…
Reference in a new issue