class Fnsapi::AuthService

Public Instance Methods

reset_credentials() click to toggle source
# File lib/fnsapi/auth_service.rb, line 5
def reset_credentials
  result = client.call(:get_message, message: message_hash)
  message = result.body.dig(:get_message_response, :message)

  raise RequestError, message[:fault][:message] if message[:fault]

  token = message.dig(:auth_response, :result, :token)
  expired_at = Time.parse(message.dig(:auth_response, :result, :expire_time))

  return if token.blank?

  put_token!(token, expired_at)
  token
end

Private Instance Methods

message_hash() click to toggle source
# File lib/fnsapi/auth_service.rb, line 33
def message_hash
  {
    'Message' => {
      'tns:AuthRequest' => {
        'tns:AuthAppInfo' => {
          'tns:MasterToken' => Fnsapi.configuration.fnsapi_master_key
        }
      }
    }
  }
end
namespaces() click to toggle source
Calls superclass method
# File lib/fnsapi/auth_service.rb, line 22
def namespaces
  super.merge(
    'xmlns:tns' => 'urn://x-artefacts-gnivc-ru/ais3/kkt/AuthService/types/1.0',
    'targetNamespace' => 'urn://x-artefacts-gnivc-ru/ais3/kkt/AuthService/types/1.0'
  )
end
put_token!(token, expired_at) click to toggle source
# File lib/fnsapi/auth_service.rb, line 45
def put_token!(token, expired_at)
  if redis
    redis.set(Fnsapi.configuration.redis_key, token)
    redis.expireat(Fnsapi.configuration.redis_key, expired_at.to_i)
  else
    tmp_storage.write_token(token, expired_at)
  end
end
uri() click to toggle source
# File lib/fnsapi/auth_service.rb, line 29
def uri
  '/open-api/AuthService/0.1?wsdl'
end