1# frozen_string_literal: true 2 3module HttpBasicAuthHelpers 4 def user_basic_auth_header(user) 5 access_token = create(:personal_access_token, user: user) 6 7 basic_auth_header(user.username, access_token.token) 8 end 9 10 def job_basic_auth_header(job) 11 basic_auth_header(::Gitlab::Auth::CI_JOB_USER, job.token) 12 end 13 14 def client_basic_auth_header(client) 15 basic_auth_header(client.uid, client.secret) 16 end 17 18 def build_auth_headers(value) 19 { 'HTTP_AUTHORIZATION' => value } 20 end 21 22 def build_token_auth_header(token) 23 build_auth_headers("Bearer #{token}") 24 end 25 26 def basic_auth_header(username, password) 27 build_auth_headers(ActionController::HttpAuthentication::Basic.encode_credentials(username, password)) 28 end 29end 30