class Bosh::Monitor::AuthProvider

Public Class Methods

new(auth_info, config, logger) click to toggle source
# File lib/bosh/monitor/auth_provider.rb, line 5
def initialize(auth_info, config, logger)
  @auth_info = auth_info.fetch('user_authentication', {})

  @user = config['user'].to_s
  @password = config['password'].to_s
  @client_id = config['client_id'].to_s
  @client_secret = config['client_secret'].to_s
  @ca_cert = config['ca_cert'].to_s

  @logger = logger
end

Public Instance Methods

auth_header() click to toggle source
# File lib/bosh/monitor/auth_provider.rb, line 17
def auth_header
  if @auth_info.fetch('type', 'local') == 'uaa'
    uaa_url = @auth_info.fetch('options', {}).fetch('url')
    return uaa_token_header(uaa_url)
  end

  [@user, @password]
end

Private Instance Methods

uaa_token_header(uaa_url) click to toggle source
# File lib/bosh/monitor/auth_provider.rb, line 28
def uaa_token_header(uaa_url)
  @uaa_token ||= UAAToken.new(@client_id, @client_secret, uaa_url, @ca_cert, @logger)
  @uaa_token.auth_header
end