Sha256: 3886eb45e2b8b1aa28494c298730b92486aeebc64a0b7d020ae0399307c49c0a
Contents?: true
Size: 1.81 KB
Versions: 1
Compression:
Stored size: 1.81 KB
Contents
require 'omniauth' require 'yoti' module OmniAuth module Strategies class Yoti include OmniAuth::Strategy option :client_options def request_phase redirect "https://www.yoti.com/connect/#{options.client_options[:application_id]}" end uid { yoti_user_id } info {{ name: yoti_user_id, base64_selfie_uri: base64_selfie_uri }} def extra @raw_info ||= { selfie: yoti_user_profile['selfie'], given_names: yoti_user_profile['given_names'], family_name: yoti_user_profile['family_name'], phone_number: yoti_user_profile['phone_number'], email_address: yoti_user_profile['email_address'], date_of_birth: yoti_user_profile['date_of_birth'], postal_address: yoti_user_profile['postal_address'], gender: yoti_user_profile['gender'], nationality: yoti_user_profile['nationality'] } end private def yoti_activity_details @yoti_activity_details ||= begin configure_yoti_client! ::Yoti::Client.get_activity_details(token) end end def yoti_user_profile yoti_activity_details.user_profile end def yoti_user_id yoti_activity_details.user_id end def base64_selfie_uri yoti_activity_details.base64_selfie_uri end def configure_yoti_client! ::Yoti.configure do |config| config.client_sdk_id = options.client_options[:client_sdk_id] config.key_file_path = options.client_options[:key_file_path] config.key = options.client_options[:key] config.sdk_identifier = 'OmniAuth' end end def token Rack::Utils.parse_nested_query(request.query_string)['token'] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
omniauth-yoti-1.1.3 | lib/omniauth/strategies/yoti.rb |