class EtCcdClient::UiIdamClient

Attributes

config[RW]
logger[RW]
service_token[R]
user_details[RW]
user_token[RW]

Public Class Methods

new(config: ::EtCcdClient.config) click to toggle source
# File lib/et_ccd_client/ui_idam_client.rb, line 9
def initialize(config: ::EtCcdClient.config)
  self.config = config
  self.logger = config.logger
  self.user_details = nil
end

Public Instance Methods

login(username: config.sidam_username, password: config.sidam_password) click to toggle source
# File lib/et_ccd_client/ui_idam_client.rb, line 15
def login(username: config.sidam_username, password: config.sidam_password)
  logger.tagged('EtCcdClient::UiIdamClient') do
    self.user_token = exchange_sidam_user_token(username, password)
    self.user_details = get_user_details
  end
end

Private Instance Methods

exchange_sidam_user_token(username, password) click to toggle source
# File lib/et_ccd_client/ui_idam_client.rb, line 27
def exchange_sidam_user_token(username, password)
  url = "#{config.idam_base_url}/loginUser"
  resp = post_request(url, {username: username, password: password}, extra_headers: { content_type: 'application/x-www-form-urlencoded', accept: 'application/json' }, log_subject: "IdamUI user token exchange")
  token = resp['access_token']
  token
end
get_user_details() click to toggle source
# File lib/et_ccd_client/ui_idam_client.rb, line 34
def get_user_details
  url = "#{config.idam_base_url}/details"
  get_request(url, extra_headers: { 'Accept' => 'application/json', 'Authorization' => user_token }, log_subject: "UiIdam get user details")
end