-
-
Notifications
You must be signed in to change notification settings - Fork 96
Expand file tree
/
Copy pathomniauth.rb
More file actions
36 lines (32 loc) · 1.3 KB
/
omniauth.rb
File metadata and controls
36 lines (32 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
require_relative '../../lib/omni_auth/strategies/email'
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
provider :google_oauth2, {
verify_iss: false,
setup: proc do |env|
host = env['SERVER_NAME']
tld = host[/(.+\.)?(.+\..+)/, 2]
token = tld.delete('-').split('.').join('_').upcase
name = "OMNIAUTH_GOOGLE_#{token}"
if env.has_key?("#{name}_KEY") && env.has_key?("#{name}_SECRET")
env['omniauth.strategy'].options[:client_id] = ENV["#{name}_KEY"]
env['omniauth.strategy'].options[:client_secret] = ENV["#{name}_SECRET"]
else
env['omniauth.strategy'].options[:client_id] = ENV['GOOGLE_CONSUMER_KEY']
env['omniauth.strategy'].options[:client_secret] = ENV['GOOGLE_CONSUMER_SECRET']
end
end
}
provider :twitter, ENV['TWITTER_CONSUMER_KEY'], ENV['TWITTER_CONSUMER_SECRET']
provider :github, {
setup: proc do |env|
host = env['SERVER_NAME']
tld = host[/(.+\.)?(.+\..+)/, 2]
token = tld.delete('-').split('.').join('_').upcase
name = "OMNIAUTH_GITHUB_#{token}"
env['omniauth.strategy'].options[:client_id] = ENV["#{name}_KEY"]
env['omniauth.strategy'].options[:client_secret] = ENV["#{name}_SECRET"]
end,
}
provider :email
end