forked from External/greenlight
adding checksum. using customer name as the provider
This commit is contained in:
parent
0d2a5a4c90
commit
137b8450a8
|
@ -1,6 +1,6 @@
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/blindsidenetworks/omniauth-bn-launcher.git
|
remote: https://github.com/blindsidenetworks/omniauth-bn-launcher.git
|
||||||
revision: f7bb3dc68c418069b1f432b555ef6b35ced4ef87
|
revision: 1ce59670e942e69752079772290e66cecba4f365
|
||||||
specs:
|
specs:
|
||||||
omniauth-bn-launcher (0.1.0)
|
omniauth-bn-launcher (0.1.0)
|
||||||
omniauth (~> 1.3, >= 1.3.2)
|
omniauth (~> 1.3, >= 1.3.2)
|
||||||
|
|
|
@ -23,14 +23,21 @@ module SessionsHelper
|
||||||
@current_user ||= User.find_by(id: session[:user_id])
|
@current_user ||= User.find_by(id: session[:user_id])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def generate_checksum(customer_name, redirect_url, secret)
|
||||||
|
string = customer_name + redirect_url + secret
|
||||||
|
OpenSSL::Digest.digest('sha1', string).unpack("H*").first
|
||||||
|
end
|
||||||
|
|
||||||
def parse_customer_name(hostname)
|
def parse_customer_name(hostname)
|
||||||
provider = hostname.split('.')
|
provider = hostname.split('.')
|
||||||
provider.first == 'www' ? provider.second : provider.first
|
provider.first == 'www' ? provider.second : provider.first
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_omniauth_options(env)
|
def set_omniauth_options(env)
|
||||||
|
gl_redirect_url = env["rack.url_scheme"] + "://" + env["SERVER_NAME"] + ":" + env["SERVER_PORT"]
|
||||||
env['omniauth.strategy'].options[:customer] = parse_customer_name env["SERVER_NAME"]
|
env['omniauth.strategy'].options[:customer] = parse_customer_name env["SERVER_NAME"]
|
||||||
env['omniauth.strategy'].options[:gl_redirect_url] = env["rack.url_scheme"] + "://" + env["SERVER_NAME"] + ":" + env["SERVER_PORT"]
|
env['omniauth.strategy'].options[:gl_redirect_url] = gl_redirect_url
|
||||||
env['omniauth.strategy'].options[:default_callback_url] = Rails.configuration.gl_callback_url
|
env['omniauth.strategy'].options[:default_callback_url] = Rails.configuration.gl_callback_url
|
||||||
|
env['omniauth.strategy'].options[:checksum] = generate_checksum parse_customer_name(env["SERVER_NAME"]), gl_redirect_url, Rails.configuration.launcher_secret
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,6 +25,7 @@ module Greenlight
|
||||||
# Fetch credentials from a loadbalancer based on provider.
|
# Fetch credentials from a loadbalancer based on provider.
|
||||||
config.loadbalancer_endpoint = ENV["LOADBALANCER_ENDPOINT"]
|
config.loadbalancer_endpoint = ENV["LOADBALANCER_ENDPOINT"]
|
||||||
config.loadbalancer_secret = ENV["LOADBALANCER_SECRET"]
|
config.loadbalancer_secret = ENV["LOADBALANCER_SECRET"]
|
||||||
|
config.launcher_secret = ENV["LAUNCHER_SECRET"]
|
||||||
else
|
else
|
||||||
# Default credentials (test-install.blindsidenetworks.com/bigbluebutton).
|
# Default credentials (test-install.blindsidenetworks.com/bigbluebutton).
|
||||||
config.bigbluebutton_endpoint_default = "http://test-install.blindsidenetworks.com/bigbluebutton/api/"
|
config.bigbluebutton_endpoint_default = "http://test-install.blindsidenetworks.com/bigbluebutton/api/"
|
||||||
|
|
|
@ -7,7 +7,6 @@ Rails.application.config.providers = [:google, :twitter]
|
||||||
Rails.application.config.omniauth_google = ENV['GOOGLE_OAUTH2_ID'].present? && ENV['GOOGLE_OAUTH2_SECRET'].present?
|
Rails.application.config.omniauth_google = ENV['GOOGLE_OAUTH2_ID'].present? && ENV['GOOGLE_OAUTH2_SECRET'].present?
|
||||||
Rails.application.config.omniauth_twitter = ENV['TWITTER_ID'].present? && ENV['TWITTER_SECRET'].present?
|
Rails.application.config.omniauth_twitter = ENV['TWITTER_ID'].present? && ENV['TWITTER_SECRET'].present?
|
||||||
Rails.application.config.omniauth_bn_launcher = Rails.configuration.loadbalanced_configuration
|
Rails.application.config.omniauth_bn_launcher = Rails.configuration.loadbalanced_configuration
|
||||||
Rails.application.config.omniauth_bn_launcher = ENV["LOADBALANCER_ENDPOINT"].present? && ENV["LOADBALANCER_SECRET"].present?
|
|
||||||
|
|
||||||
SETUP_PROC = lambda do |env|
|
SETUP_PROC = lambda do |env|
|
||||||
SessionsController.helpers.set_omniauth_options env
|
SessionsController.helpers.set_omniauth_options env
|
||||||
|
|
Loading…
Reference in New Issue