From ea601711faffb14832e9524c49cad8cd5d4388d6 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Wed, 5 Nov 2014 20:32:37 -0600 Subject: [PATCH] * make desk keys configurable --- db/up/deletable_recordings.sql | 2 ++ ruby/lib/jam_ruby/lib/desk_multipass.rb | 7 ++----- ruby/lib/jam_ruby/resque/scheduled/recordings_cleaner.rb | 0 ...g_dialog.html.haml => _edit_recording_dialog.html.slim} | 0 web/config/application.rb | 5 +++++ 5 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 db/up/deletable_recordings.sql create mode 100644 ruby/lib/jam_ruby/resque/scheduled/recordings_cleaner.rb rename web/app/views/dialogs/{_edit_recording_dialog.html.haml => _edit_recording_dialog.html.slim} (100%) diff --git a/db/up/deletable_recordings.sql b/db/up/deletable_recordings.sql new file mode 100644 index 000000000..842c4d4d8 --- /dev/null +++ b/db/up/deletable_recordings.sql @@ -0,0 +1,2 @@ +-- this is to make sure we don't delete any recordings for 7 days +UPDATE recordings SET updated_at = NOW(); diff --git a/ruby/lib/jam_ruby/lib/desk_multipass.rb b/ruby/lib/jam_ruby/lib/desk_multipass.rb index 560551473..2c20cd6b5 100644 --- a/ruby/lib/jam_ruby/lib/desk_multipass.rb +++ b/ruby/lib/jam_ruby/lib/desk_multipass.rb @@ -11,9 +11,6 @@ module JamRuby # https://github.com/assistly/multipass-examples/blob/master/ruby.rb class DeskMultipass - API_KEY = "453ddfc0bab00130a9c13bc9a68cf24c" - SITE_KEY = "jamkazam" - def initialize(user) @user = user generate_token_and_signature @@ -29,7 +26,7 @@ module JamRuby private def generate_token_and_signature - key = Digest::SHA1.digest(API_KEY + SITE_KEY)[0...16] + key = Digest::SHA1.digest(APP_CONFIG.desk_multipass_key + APP_CONFIG.desk_multipass_site)[0...16] # Generate a random 16 byte IV iv = OpenSSL::Random.random_bytes(16) @@ -48,7 +45,7 @@ module JamRuby prepended = iv + encrypted token = Base64.encode64(prepended) - signature = Base64.encode64(OpenSSL::HMAC.digest('sha1', API_KEY, token)) + signature = Base64.encode64(OpenSSL::HMAC.digest('sha1', APP_CONFIG.desk_multipass_key, token)) @token = CGI.escape(token) @signature = CGI.escape(signature) diff --git a/ruby/lib/jam_ruby/resque/scheduled/recordings_cleaner.rb b/ruby/lib/jam_ruby/resque/scheduled/recordings_cleaner.rb new file mode 100644 index 000000000..e69de29bb diff --git a/web/app/views/dialogs/_edit_recording_dialog.html.haml b/web/app/views/dialogs/_edit_recording_dialog.html.slim similarity index 100% rename from web/app/views/dialogs/_edit_recording_dialog.html.haml rename to web/app/views/dialogs/_edit_recording_dialog.html.slim diff --git a/web/config/application.rb b/web/config/application.rb index b15e13426..76b4242a0 100644 --- a/web/config/application.rb +++ b/web/config/application.rb @@ -152,6 +152,9 @@ if defined?(Bundler) config.multipass_callback_url = "http://jamkazam.desk.com/customer/authentication/multipass/callback" end + config.desk_multipass_key = "453ddfc0bab00130a9c13bc9a68cf24c" # found in https://jamkazam.desk.com/admin/channels/support-center/auth_settings + config.desk_multipass_site = "jamkazam" # found in https://jamkazam.desk.com/admin/channels/support-center/auth_settings + # perf_data configs config.perf_data_signed_url_timeout = 3600 * 24 # 1 day @@ -273,5 +276,7 @@ if defined?(Bundler) config.scoring_timeout_threshold = 5 # how many consequetive bad scores before you are put into the doghouse config.scoring_get_work_interval = 1000 # how much time between normal getwork requests config.scoring_get_work_backoff_interval = 60 * 1000 # how much time between failed getwork requests + + config.recordings_stale_time = 3 # num days of inactivity before we decide that a recording is no longer going to be claimed end end