2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-05 08:59:27 +08:00
New options are left out by default when not configured so that an
incorrect default configuration doesn't blow up google oauth for
everyone.
This commit is contained in:
Guo Xiang Tan 2018-02-23 07:19:36 +08:00
parent 9f5bc7a5ee
commit 24d0a7a4c7
3 changed files with 28 additions and 9 deletions

View file

@ -51,15 +51,25 @@ class Auth::GoogleOAuth2Authenticator < Auth::Authenticator
end
def register_middleware(omniauth)
options = {
setup: lambda { |env|
strategy = env["omniauth.strategy"]
strategy.options[:client_id] = SiteSetting.google_oauth2_client_id
strategy.options[:client_secret] = SiteSetting.google_oauth2_client_secret
},
skip_jwt: true
}
if (google_oauth2_prompt = SiteSetting.google_oauth2_prompt).present?
options[:prompt] = google_oauth2_prompt.gsub("|", " ")
end
google_oauth2_hd = SiteSetting.google_oauth2_hd
options[:hd] = google_oauth2_hd if google_oauth2_hd.present?
# jwt encoding is causing auth to fail in quite a few conditions
# skipping
omniauth.provider :google_oauth2,
setup: lambda { |env|
strategy = env["omniauth.strategy"]
strategy.options[:client_id] = SiteSetting.google_oauth2_client_id
strategy.options[:client_secret] = SiteSetting.google_oauth2_client_secret
},
skip_jwt: true
omniauth.provider :google_oauth2, options
end
protected