diff options
author | Angelo Lakra <alakra@comverge.com> | 2013-09-23 20:58:16 -0600 |
---|---|---|
committer | Angelo Lakra <angelo.lakra@gmail.com> | 2013-10-08 00:43:14 -0600 |
commit | 0984328946aea015402b2254e2d0643def9235ce (patch) | |
tree | 89c3be4648d8c7f2e645d0ba7fcee78837e4f7c1 /lib/api/helpers.rb | |
parent | 96fe0415f3968f3766ccd778c17a4cf2abf7782c (diff) | |
download | gitlab-ci-0984328946aea015402b2254e2d0643def9235ce.tar.gz |
Implementing method for authentication via token
Diffstat (limited to 'lib/api/helpers.rb')
-rw-r--r-- | lib/api/helpers.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb index f76b039..13719b4 100644 --- a/lib/api/helpers.rb +++ b/lib/api/helpers.rb @@ -1,5 +1,22 @@ module API module Helpers + PRIVATE_TOKEN_PARAM = :private_token + PRIVATE_TOKEN_HEADER = "HTTP_PRIVATE_TOKEN" + + def current_user + @current_user ||= begin + options = { + :private_token => (params[PRIVATE_TOKEN_PARAM] || env[PRIVATE_TOKEN_HEADER]), + :url => params[:url] + } + UserSession.new.authenticate_by_token(options) + end + end + + def authenticate! + forbidden! unless current_user + end + def authenticate_runners! forbidden! unless params[:token] == GitlabCi::RunnersToken end |