class EtCcdClient::IdamClient
Attributes
config[RW]
logger[RW]
service_token[RW]
user_details[RW]
user_token[RW]
Public Class Methods
new(config: ::EtCcdClient.config)
click to toggle source
# File lib/et_ccd_client/idam_client.rb, line 11 def initialize(config: ::EtCcdClient.config) self.config = config self.logger = config.logger self.service_token = nil self.user_token = nil 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/idam_client.rb, line 19 def login(username: config.sidam_username, password: config.sidam_password) logger.tagged('EtCcdClient::IdamClient') do self.service_token = exchange_service_token self.user_token = exchange_sidam_user_token(username, password) self.user_details = fetch_user_details end end
Private Instance Methods
exchange_service_token()
click to toggle source
# File lib/et_ccd_client/idam_client.rb, line 32 def exchange_service_token url = config.idam_service_token_exchange_url data = { microservice: config.microservice, oneTimePassword: otp }.to_json post_request(url, data, log_subject: 'Idam service token exchange', decode: false) end
exchange_sidam_user_token(username, password)
click to toggle source
# File lib/et_ccd_client/idam_client.rb, line 38 def exchange_sidam_user_token(username, password) url = config.idam_user_token_exchange_url resp = post_request(url, { username: username, password: password }, log_subject: 'Idam user token exchange') resp['access_token'] end
fetch_user_details()
click to toggle source
# File lib/et_ccd_client/idam_client.rb, line 44 def fetch_user_details url = config.user_details_url get_request(url, extra_headers: {'Accept' => 'application/json', 'Authorization' => user_token}, log_subject: 'Idam get user details') end
otp()
click to toggle source
# File lib/et_ccd_client/idam_client.rb, line 49 def otp totp.now end
totp()
click to toggle source
# File lib/et_ccd_client/idam_client.rb, line 53 def totp @totp ||= ROTP::TOTP.new(config.microservice_secret) end