internetee-registry/lib/devise/strategies/id_card_authenticatable.rb
2020-09-25 16:20:01 +05:00

49 lines
1.2 KiB
Ruby

module Devise
module Strategies
class IdCardAuthenticatable < Devise::Strategies::Authenticatable
# def valid?
# env['SSL_CLIENT_S_DN_CN'].present?
# end
#
# def authenticate!
# resource = mapping.to
# user = resource.find_by_id_card(id_card)
#
# if user
# success!(user)
# else
# fail
# end
# end
#
# private
#
# def id_card
# id_card = IdCard.new
# id_card.first_name = first_name
# id_card.last_name = last_name
# id_card.personal_code = personal_code
# id_card.country_code = country_code
# id_card
# end
#
# def first_name
# env['SSL_CLIENT_S_DN_CN'].split(',').second.force_encoding('utf-8')
# end
#
# def last_name
# env['SSL_CLIENT_S_DN_CN'].split(',').first.force_encoding('utf-8')
# end
#
# def personal_code
# env['SSL_CLIENT_S_DN_CN'].split(',').last
# end
#
# def country_code
# env['SSL_CLIENT_I_DN_C']
# end
end
end
end
# Warden::Strategies.add(:id_card_authenticatable, Devise::Strategies::IdCardAuthenticatable)