mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 02:41:13 +08:00
SECURITY: GitHub authenticator returning unverified emails
This commit is contained in:
@ -20,10 +20,11 @@ class Auth::GithubAuthenticator < Auth::Authenticator
|
||||
}
|
||||
|
||||
user_info = GithubUserInfo.find_by(github_user_id: github_user_id)
|
||||
result.email_valid = !!data["email_verified"]
|
||||
|
||||
if user_info
|
||||
user = user_info.user
|
||||
elsif user = User.find_by_email(email)
|
||||
elsif result.email_valid && (user = User.find_by_email(email))
|
||||
user_info = GithubUserInfo.create(
|
||||
user_id: user.id,
|
||||
screen_name: screen_name,
|
||||
@ -32,7 +33,6 @@ class Auth::GithubAuthenticator < Auth::Authenticator
|
||||
end
|
||||
|
||||
result.user = user
|
||||
result.email_valid = false
|
||||
|
||||
result
|
||||
end
|
||||
|
Reference in New Issue
Block a user