FIX: Prioritize explicit 'connect' over matching by email

This is an edge case that was previously handled by TwitterAuthenticator, but not FacebookAuthenticator.
This commit is contained in:
David Taylor
2018-12-07 14:12:08 +00:00
parent 3cad3f9df1
commit 86f8734bc0
2 changed files with 9 additions and 1 deletions

View File

@ -55,7 +55,7 @@ class Auth::ManagedAuthenticator < Auth::Authenticator
end
# Matching an account by email
if match_by_email && association.nil? && (user = User.find_by_email(email))
if match_by_email && association.nil? && result.user.nil? && (user = User.find_by_email(email))
UserAssociatedAccount.where(user: user, provider_name: auth_token[:provider]).destroy_all # Destroy existing associations for the new user
result.user = user
end