From 988b13ac7718adc3a30659847455c60af78c7323 Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Fri, 12 Jan 2018 09:47:29 +0530 Subject: [PATCH] FIX: GitHub auth always asking to verify email for new users (#5487) --- lib/auth/github_authenticator.rb | 4 +--- spec/components/auth/github_authenticator_spec.rb | 10 ++-------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/lib/auth/github_authenticator.rb b/lib/auth/github_authenticator.rb index bde25ed5d16..9c9d5f3c184 100644 --- a/lib/auth/github_authenticator.rb +++ b/lib/auth/github_authenticator.rb @@ -42,13 +42,11 @@ class Auth::GithubAuthenticator < Auth::Authenticator # need to know. user = user_info.user result.email = data[:email], - result.email_valid = !!data[:email_verified] + result.email_valid = data[:email].present? else # Potentially use *any* of the emails from GitHub to find a match or # register a new user, with preference given to the primary email. all_emails = Array.new(auth_token[:extra][:all_emails]) - all_emails.unshift(email: data[:email], - verified: !!data[:email_verified]) # Only consider verified emails to match an existing user. We don't want # someone to be able to create a GitHub account with an unverified email diff --git a/spec/components/auth/github_authenticator_spec.rb b/spec/components/auth/github_authenticator_spec.rb index 1d83fefbc89..a80ee855566 100644 --- a/spec/components/auth/github_authenticator_spec.rb +++ b/spec/components/auth/github_authenticator_spec.rb @@ -17,7 +17,6 @@ def auth_token_for(user) }, info: { email: user.email, - email_verified: true, nickname: user.username, name: user.name, image: "https://avatars3.githubusercontent.com/u/#{user.username}", @@ -43,7 +42,6 @@ describe Auth::GithubAuthenticator do }, info: { email: user.email, - email_verified: true, nickname: user.username, name: user.name, }, @@ -70,7 +68,6 @@ describe Auth::GithubAuthenticator do }, info: { email: user.email, - email_verified: false, nickname: user.username, name: user.name, }, @@ -97,7 +94,6 @@ describe Auth::GithubAuthenticator do }, info: { email: "person@example.com", - email_verified: true, nickname: "person", name: "Person Lastname", }, @@ -110,7 +106,7 @@ describe Auth::GithubAuthenticator do expect(result.username).to eq(hash[:info][:nickname]) expect(result.name).to eq(hash[:info][:name]) expect(result.email).to eq(hash[:info][:email]) - expect(result.email_valid).to eq(hash[:info][:email_verified]) + expect(result.email_valid).to eq(hash[:info][:email].present?) end it 'will skip blacklisted domains for non existing users' do @@ -128,7 +124,6 @@ describe Auth::GithubAuthenticator do }, info: { email: "not_allowed@blacklist.com", - email_verified: true, nickname: "person", name: "Person Lastname", }, @@ -154,7 +149,7 @@ describe Auth::GithubAuthenticator do verified: true, }, { email: "not_allowed@blacklist.com", - primary: true, + primary: false, verified: true, }, { email: "allowed@whitelist.com", @@ -164,7 +159,6 @@ describe Auth::GithubAuthenticator do }, info: { email: "person@example.com", - email_verified: true, nickname: "person", name: "Person Lastname", },