diff options
author | Krasimir Angelov <kangelov@gitlab.com> | 2019-09-06 07:06:25 +0300 |
---|---|---|
committer | Krasimir Angelov <kangelov@gitlab.com> | 2019-09-06 07:06:25 +0300 |
commit | 477ba2b3465736cdccfb6cb6a36f78447942e310 (patch) | |
tree | d1d29ae1a34d8a359fb93815d7df1345749a9341 /lib/gitlab | |
parent | 9d38778f4146fec734695be02f1e63c58f6d78db (diff) |
Add skeleton Pages internal API
Basic `/internal/pages` endpoint that will be used for Pages virtual
domains internal API. The endpoint is currently behind feature flag and
provides authetication similar to how Workhorse is authenticating with
the GitLab.
Diffstat (limited to 'lib/gitlab')
-rw-r--r-- | lib/gitlab/pages.rb | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/gitlab/pages.rb b/lib/gitlab/pages.rb index 16df0700b08..4899b1d3234 100644 --- a/lib/gitlab/pages.rb +++ b/lib/gitlab/pages.rb @@ -1,7 +1,22 @@ # frozen_string_literal: true module Gitlab - module Pages + class Pages VERSION = File.read(Rails.root.join("GITLAB_PAGES_VERSION")).strip.freeze + INTERNAL_API_REQUEST_HEADER = 'Gitlab-Pages-Api-Request'.freeze + + include JwtAuthenticatable + + class << self + def verify_api_request(request_headers) + decode_jwt_for_issuer('gitlab-pages', request_headers[INTERNAL_API_REQUEST_HEADER]) + rescue JWT::DecodeError + false + end + + def secret_path + Gitlab.config.pages.secret_file + end + end end end |