mirror of
https://github.com/discourse/discourse.git
synced 2025-09-06 10:50:21 +08:00
FEATURE: Support importing email from Twitter
This commit is contained in:
parent
acaac02673
commit
610dd933a3
1 changed files with 13 additions and 1 deletions
|
@ -12,10 +12,15 @@ class Auth::TwitterAuthenticator < Auth::Authenticator
|
||||||
|
|
||||||
data = auth_token[:info]
|
data = auth_token[:info]
|
||||||
|
|
||||||
|
result.email = data['email']
|
||||||
result.username = screen_name = data["nickname"]
|
result.username = screen_name = data["nickname"]
|
||||||
result.name = name = data["name"]
|
result.name = data["name"]
|
||||||
twitter_user_id = auth_token["uid"]
|
twitter_user_id = auth_token["uid"]
|
||||||
|
|
||||||
|
if result.email.present?
|
||||||
|
result.email_valid = true
|
||||||
|
end
|
||||||
|
|
||||||
result.extra_data = {
|
result.extra_data = {
|
||||||
twitter_user_id: twitter_user_id,
|
twitter_user_id: twitter_user_id,
|
||||||
twitter_screen_name: screen_name
|
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)
|
user_info = TwitterUserInfo.find_by(twitter_user_id: twitter_user_id)
|
||||||
|
|
||||||
result.user = user_info.try(:user)
|
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
|
result
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue