class OmniAuth::Vph::Adaptor
Constants
- MUST_HAVE_KEYS
Attributes
connection[R]
Public Class Methods
new(configuration={})
click to toggle source
# File lib/omniauth-vph/adaptor.rb, line 21 def initialize(configuration={}) Adaptor.validate(configuration) @configuration = configuration.dup verify = @configuration[:ssl_verify] == nil ? true : @configuration[:ssl_verify] @connection = Faraday.new(url: @configuration[:host], :ssl => {:verify => verify}) end
validate(configuration={})
click to toggle source
# File lib/omniauth-vph/adaptor.rb, line 13 def self.validate(configuration={}) message = [] MUST_HAVE_KEYS.each do |name| message << name if configuration[name].nil? end raise ArgumentError.new(message.join(",") +" MUST be provided") unless message.empty? end
Public Instance Methods
map_user(object)
click to toggle source
# File lib/omniauth-vph/adaptor.rb, line 38 def map_user(object) user = {} user['email'] = object['email'] user['login'] = object['username'] user['full_name'] = object['fullname'] user['roles'] = roles object user end
user_info(ticket)
click to toggle source
# File lib/omniauth-vph/adaptor.rb, line 29 def user_info(ticket) begin response = @connection.get '/validatetkt/', {ticket: ticket} response.status == 200 ? JSON.parse(response.body) : nil rescue Exception => e raise ConnectionError.new end end
Private Instance Methods
roles(object)
click to toggle source
# File lib/omniauth-vph/adaptor.rb, line 50 def roles(object) roles_map = @configuration[:roles_map] roles = [] if object['role'] and roles_map roles_map.each do |k,v| roles << v if object['role'].include? k end end roles end