mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 07:53:49 +08:00
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.
This commit is contained in:
@ -70,4 +70,9 @@ class Auth::DiscordAuthenticator < Auth::ManagedAuthenticator
|
|||||||
|
|
||||||
super
|
super
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# the `info` block above only picks the email from Discord API if it's verified
|
||||||
|
def primary_email_verified?(auth_token)
|
||||||
|
true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -25,4 +25,10 @@ class Auth::FacebookAuthenticator < Auth::ManagedAuthenticator
|
|||||||
scope: "email"
|
scope: "email"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# facebook doesn't return unverified email addresses so it's safe to assume
|
||||||
|
# whatever email we get from them is verified
|
||||||
|
# https://developers.facebook.com/docs/graph-api/reference/user/
|
||||||
|
def primary_email_verified?(auth_token)
|
||||||
|
true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -57,4 +57,10 @@ class Auth::GithubAuthenticator < Auth::ManagedAuthenticator
|
|||||||
},
|
},
|
||||||
scope: "user:email"
|
scope: "user:email"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# the omniauth-github gem only picks up the primary email if it's verified:
|
||||||
|
# https://github.com/omniauth/omniauth-github/blob/0ac46b59ccdabd4cbe5be4a665df269355081915/lib/omniauth/strategies/github.rb#L58-L61
|
||||||
|
def primary_email_verified?(auth_token)
|
||||||
|
true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -23,4 +23,10 @@ class Auth::TwitterAuthenticator < Auth::ManagedAuthenticator
|
|||||||
strategy.options[:consumer_secret] = SiteSetting.twitter_consumer_secret
|
strategy.options[:consumer_secret] = SiteSetting.twitter_consumer_secret
|
||||||
}
|
}
|
||||||
end
|
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
|
end
|
||||||
|
Reference in New Issue
Block a user