class Zara4::API::Communication::Authentication::UserAuthenticator

Attributes

client_id[RW]
client_secret[RW]
password[RW]
username[RW]

Public Class Methods

new(client_id, client_secret, username, password) click to toggle source

Constructor

# File lib/zara4/api/communication/authentication/user_authenticator.rb, line 11
def initialize(client_id, client_secret, username, password)
  super.initialize(client_id, client_secret)
  @username = username
  @password = password
end

Public Instance Methods

acquire_access_token() click to toggle source

Acquire an AccessToken using this UserAuthenticator.

# File lib/zara4/api/communication/authentication/user_authenticator.rb, line 21
def acquire_access_token
  grant = Zara4::API::Communication::Grant::ClientCredentialsGrantRequest.new(@client_id, @clint_secret, @scopes)
  tokens = grant.getTokens()
    
  access_token  = tokens['access_token']
  refresh_token = tokens['refresh_token']
  expires_at    = Zara4::API::Communication::Util::calculate_expiry_time(tokens['expires_in'])
  
  return Zara4::API::Communication::AccessToken::RefreshableAccessToken.new(@client_id, @client_secret, access_token, expires_at, refresh_token)
end