Sha256: 1ebe09db4c8f274f3a2eea6ac5a6611fadd486e97b644cb2ed3a8d4cc3a3a251

Contents?: true

Size: 883 Bytes

Versions: 2

Compression:

Stored size: 883 Bytes

Contents

module Yoti
  # Handles all the publicly accesible Yoti methods for
  # geting data using an encrypted connect token
  module Client
    # Performs all the steps required to get the decrypted profile from an API request
    # @param encrypted_connect_token [String] token provided as a base 64 string
    # @return [Object] an ActivityDetails instance encapsulating the user profile
    def self.get_activity_details(encrypted_connect_token)
      receipt = Yoti::Request.new(encrypted_connect_token).receipt
      encrypted_data = Protobuf.current_user(receipt)
      unwrapped_key = Yoti::SSL.decrypt_token(receipt['wrapped_receipt_key'])
      decrypted_data = Yoti::SSL.decipher(unwrapped_key, encrypted_data.iv, encrypted_data.cipher_text)
      decrypted_profile = Protobuf.attribute_list(decrypted_data)
      ActivityDetails.new(receipt, decrypted_profile)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
yoti-1.0.1 lib/yoti/client.rb
yoti-1.0.0 lib/yoti/client.rb