class Bosh::Cli::Client::Uaa::Client
Public Class Methods
new(target, auth_info, config)
click to toggle source
# File lib/cli/client/uaa/client.rb, line 12 def initialize(target, auth_info, config) @target = target @auth_info = auth_info token_decoder = TokenDecoder.new if auth_info.client_auth? token_issuer = ClientTokenIssuer.new(auth_info, token_decoder) else token_issuer = PasswordTokenIssuer.new(auth_info, token_decoder) end @ssl_ca_file = auth_info.ssl_ca_file @token_issuer = token_issuer @config = config end
Public Instance Methods
access_info(prompt_responses)
click to toggle source
# File lib/cli/client/uaa/client.rb, line 33 def access_info(prompt_responses) with_save { @token_issuer.access_info(prompt_responses) } rescue CF::UAA::TargetError => e err("Failed to log in: #{e.info['error_description']}") rescue CF::UAA::BadResponse nil end
prompts()
click to toggle source
# File lib/cli/client/uaa/client.rb, line 26 def prompts @token_issuer.prompts rescue CF::UAA::SSLException => e raise e unless @ssl_ca_file.nil? err('Invalid SSL Cert. Use --ca-cert option when setting target to specify SSL certificate') end
refresh(access_info)
click to toggle source
# File lib/cli/client/uaa/client.rb, line 41 def refresh(access_info) @token_issuer.refresh(access_info) rescue CF::UAA::TargetError nil end
Private Instance Methods
with_save() { || ... }
click to toggle source
# File lib/cli/client/uaa/client.rb, line 49 def with_save access_info = yield if access_info.auth_header && !@auth_info.client_auth? @config.set_credentials(@target, access_info.to_hash) @config.save end access_info end