mirror of
https://github.com/discourse/discourse.git
synced 2025-05-21 18:12:32 +08:00
FEATURE: import Github profile picture
This commit is contained in:
@ -91,6 +91,8 @@ class Auth::GithubAuthenticator < Auth::Authenticator
|
||||
end
|
||||
end
|
||||
|
||||
retrieve_avatar(user, data)
|
||||
|
||||
result.user = user
|
||||
result
|
||||
end
|
||||
@ -102,6 +104,8 @@ class Auth::GithubAuthenticator < Auth::Authenticator
|
||||
screen_name: data[:github_screen_name],
|
||||
github_user_id: data[:github_user_id]
|
||||
)
|
||||
|
||||
retrieve_avatar(user, data)
|
||||
end
|
||||
|
||||
def register_middleware(omniauth)
|
||||
@ -113,4 +117,15 @@ class Auth::GithubAuthenticator < Auth::Authenticator
|
||||
},
|
||||
scope: "user:email"
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def retrieve_avatar(user, data)
|
||||
return unless user
|
||||
return if user.user_avatar&.custom_upload_id.present?
|
||||
|
||||
if (avatar_url = data[:image]).present?
|
||||
Jobs.enqueue(:download_avatar_from_url, url: avatar_url, user_id: user.id, override_gravatar: false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user