From 610dd933a346e31fb39a9053f0165670d92466a1 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Tue, 6 Sep 2016 12:18:13 -0400 Subject: [PATCH] FEATURE: Support importing email from Twitter --- lib/auth/twitter_authenticator.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/auth/twitter_authenticator.rb b/lib/auth/twitter_authenticator.rb index 3abe9edc522..534174b1f8f 100644 --- a/lib/auth/twitter_authenticator.rb +++ b/lib/auth/twitter_authenticator.rb @@ -12,10 +12,15 @@ class Auth::TwitterAuthenticator < Auth::Authenticator data = auth_token[:info] + result.email = data['email'] result.username = screen_name = data["nickname"] - result.name = name = data["name"] + result.name = data["name"] twitter_user_id = auth_token["uid"] + if result.email.present? + result.email_valid = true + end + result.extra_data = { twitter_user_id: twitter_user_id, twitter_screen_name: screen_name @@ -24,6 +29,13 @@ class Auth::TwitterAuthenticator < Auth::Authenticator user_info = TwitterUserInfo.find_by(twitter_user_id: twitter_user_id) result.user = user_info.try(:user) + if !result.user && result.email.present? && result.user = User.find_by_email(result.email) + TwitterUserInfo.create( + user_id: result.user.id, + screen_name: screen_name, + twitter_user_id: twitter_user_id + ) + end result end