From 7374aba6d3fefa10a760cc535c876ddee1059336 Mon Sep 17 00:00:00 2001 From: Andreas Nedbal Date: Sat, 22 Jan 2022 07:39:33 +0100 Subject: [PATCH] Add generation of the Canny SSO token --- Gemfile | 2 ++ Gemfile.lock | 2 ++ app/helpers/feedback_helper.rb | 14 ++++++++++++++ app/views/feedback/bugs.haml | 1 + app/views/feedback/features.haml | 1 + 5 files changed, 20 insertions(+) create mode 100644 app/helpers/feedback_helper.rb diff --git a/Gemfile b/Gemfile index c58607fd..8e6d5a79 100644 --- a/Gemfile +++ b/Gemfile @@ -64,6 +64,8 @@ gem "redis" gem "fake_email_validator" +gem "jwt", "~> 2.3" + group :development do gem "binding_of_caller" gem "byebug" diff --git a/Gemfile.lock b/Gemfile.lock index e3580430..97258f5a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -291,6 +291,7 @@ GEM jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (2.6.1) + jwt (2.3.0) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -639,6 +640,7 @@ DEPENDENCIES httparty i18n-js (= 3.6) jbuilder (~> 2.10) + jwt (~> 2.3) letter_opener mini_magick omniauth diff --git a/app/helpers/feedback_helper.rb b/app/helpers/feedback_helper.rb new file mode 100644 index 00000000..7307b5f2 --- /dev/null +++ b/app/helpers/feedback_helper.rb @@ -0,0 +1,14 @@ +module FeedbackHelper + def canny_token + return if current_user.nil? + + userData = { + avatarURL: current_user.profile_picture.url(:large), + name: current_user.screen_name, + id: current_user.id, + email: current_user.email + } + + JWT.encode(userData, APP_CONFIG.dig("canny", "sso")) + end +end \ No newline at end of file diff --git a/app/views/feedback/bugs.haml b/app/views/feedback/bugs.haml index 772ce2ba..60985f81 100644 --- a/app/views/feedback/bugs.haml +++ b/app/views/feedback/bugs.haml @@ -6,5 +6,6 @@ %script Canny('render', { boardToken: '#{APP_CONFIG['canny']['bug_board']}', + ssoToken: '#{canny_token}', basePath: '/feedback/bugs' }); \ No newline at end of file diff --git a/app/views/feedback/features.haml b/app/views/feedback/features.haml index e38434b6..15e3acfd 100644 --- a/app/views/feedback/features.haml +++ b/app/views/feedback/features.haml @@ -6,5 +6,6 @@ %script Canny('render', { boardToken: '#{APP_CONFIG['canny']['feature_board']}', + ssoToken: '#{canny_token}', basePath: '/feedback/feature-requests' }); \ No newline at end of file