class Bosh::Cli::Client::Uaa::TokenProvider
Public Class Methods
new(auth_info, config, token_decoder, target)
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 8 def initialize(auth_info, config, token_decoder, target) @auth_info = auth_info @config = config @token_decoder = token_decoder @target = target end
Public Instance Methods
refresh()
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 20 def refresh get_access_info(true) nil end
token()
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 15 def token access_info = get_access_info access_info.auth_header if access_info end
username()
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 25 def username get_access_info.username end
Private Instance Methods
client_access_info(force_refresh = false)
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 43 def client_access_info(force_refresh = false) if !@access_info.nil? && @access_info.was_issued_for?(@auth_info.client_id) @access_info = refresh_if_needed(@access_info, force_refresh) else @access_info = uaa_client.access_info({}) end end
get_access_info(force_refresh = false)
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 31 def get_access_info(force_refresh = false) if @auth_info.client_auth? client_access_info(force_refresh) else password_access_info(force_refresh) end end
password_access_info(force_refresh = false)
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 51 def password_access_info(force_refresh = false) if @access_info.nil? config_access_token = @config.access_token(@target) return nil unless config_access_token @access_info = PasswordAccessInfo.create(config_access_token, @config.refresh_token(@target), @token_decoder) return nil unless @access_info end @access_info = refresh_if_needed(@access_info, force_refresh) end
refresh_if_needed(access_info, force_refresh = false)
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 63 def refresh_if_needed(access_info, force_refresh = false) if access_info.expires_soon? || force_refresh uaa_client.refresh(access_info) else access_info end end
uaa_client()
click to toggle source
# File lib/cli/client/uaa/token_provider.rb, line 39 def uaa_client @uaa_client ||= Bosh::Cli::Client::Uaa::Client.new(@target, @auth_info, @config) end