class OmniAuth::Strategies::OpenAM
Attributes
token[R]
Protected Instance Methods
callback_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/openam.rb, line 49 def callback_phase @token = request.cookies[options[:cookie_name]] if token.nil? e = RuntimeError.new("#{options[:cookie_name]} cookie is missing") return fail!(:invalid_credentials, e) end if raw_info.empty? e = RuntimeError.new("Identity attributes are empty") return fail!(:invalid_credentials, e) end super end
raw_info()
click to toggle source
# File lib/omniauth/strategies/openam.rb, line 62 def raw_info @raw_info ||= begin conn = Faraday.new(url: options[:auth_url]) do |faraday| faraday.request :url_encoded faraday.response :logger, OmniAuth.logger faraday.adapter Faraday.default_adapter end response = conn.post( "#{URI(options[:auth_url]).path}/identity/attributes", subjectid: token ) attributes = Hash.new{ |h,k| h[k] = [] } name = nil lines = response.body.split("\n") lines.each do |line| key, value = line.split("=", 2) case key when 'userdetails.token.id' attributes['token'] = value when 'userdetails.attribute.name' name = value when 'userdetails.attribute.value' attributes[name] << value end end attributes end end
request_phase()
click to toggle source
# File lib/omniauth/strategies/openam.rb, line 44 def request_phase login_url = options[:login_url] || options[:auth_url] redirect "#{login_url}?goto=#{callback_url}" end