discourse/lib/auth/twitter_authenticator.rb
Osama Sayegh 65f57a4d05
DEV: Explicitly define primary_email_verified? method for managed authenticators (#19127)
We're going to change the default return value of the `primary_email_verified?` method of `Auth::ManagedAuthenticator` to false, so we need to explicitly define the method on authenticators to return true where it makes sense to do so.

Internal topic: t/82084.
2022-11-24 06:46:06 +03:00

33 lines
974 B
Ruby

# frozen_string_literal: true
class Auth::TwitterAuthenticator < Auth::ManagedAuthenticator
def name
"twitter"
end
def enabled?
SiteSetting.enable_twitter_logins
end
def after_authenticate(auth_token, existing_account: nil)
# Twitter sends a huge amount of data which we don't need, so ignore it
auth_token[:extra] = {}
super
end
def register_middleware(omniauth)
omniauth.provider :twitter,
setup: lambda { |env|
strategy = env["omniauth.strategy"]
strategy.options[:consumer_key] = SiteSetting.twitter_consumer_key
strategy.options[:consumer_secret] = SiteSetting.twitter_consumer_secret
}
end
# twitter doesn't return unverfied email addresses in the API
# https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/get-account-verify_credentials
def primary_email_verified?(auth_token)
true
end
end