mirror of
https://github.com/discourse/discourse.git
synced 2025-05-31 21:25:24 +08:00
FIX: sso override code not triggered when attaching to existing user
This commit is contained in:
@ -110,20 +110,15 @@ class DiscourseSingleSignOn < SingleSignOn
|
||||
end
|
||||
|
||||
def change_external_attributes_and_override(sso_record, user)
|
||||
if SiteSetting.sso_overrides_email && email != sso_record.external_email
|
||||
# set the user's email to whatever came in the payload
|
||||
if SiteSetting.sso_overrides_email && user.email != email
|
||||
user.email = email
|
||||
end
|
||||
|
||||
if SiteSetting.sso_overrides_username && username != sso_record.external_username && user.username != username
|
||||
# we have an external username change, and the user's current username doesn't match
|
||||
# run it through the UserNameSuggester to override it
|
||||
if SiteSetting.sso_overrides_username && user.username != username
|
||||
user.username = UserNameSuggester.suggest(username || name || email)
|
||||
end
|
||||
|
||||
if SiteSetting.sso_overrides_name && name != sso_record.external_name && user.name != name
|
||||
# we have an external name change, and the user's current name doesn't match
|
||||
# run it through the name suggester to override it
|
||||
if SiteSetting.sso_overrides_name && user.name != name
|
||||
user.name = User.suggest_name(name || username || email)
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user