Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/feed_token_helper.rb')
-rw-r--r--app/helpers/feed_token_helper.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/helpers/feed_token_helper.rb b/app/helpers/feed_token_helper.rb
new file mode 100644
index 00000000000..751a8df4782
--- /dev/null
+++ b/app/helpers/feed_token_helper.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+module FeedTokenHelper
+ def generate_feed_token(type)
+ feed_token = current_user&.feed_token
+ return unless feed_token
+
+ final_path = "#{current_request.path}.#{type}"
+ digest = OpenSSL::HMAC.hexdigest("SHA256", feed_token, final_path)
+ "#{User::FEED_TOKEN_PREFIX}#{digest}-#{current_user.id}"
+ end
+end