class OpenamAuth::Openam
Constants
- COOKIE_NAME_FOR_TOKEN
- IS_TOKEN_VALID
- LOGIN_URL
- LOGOUT_URL
- USER_ATTRIBUTES
Public Class Methods
new()
click to toggle source
# File lib/openam_auth/openam.rb, line 14 def initialize @base_url = OpenamConfig.openam_url @self_url = OpenamConfig.self_url end
Public Instance Methods
login_url()
click to toggle source
# File lib/openam_auth/openam.rb, line 39 def login_url "#{@base_url}#{LOGIN_URL}#{@self_url}" end
logout(token)
click to toggle source
# File lib/openam_auth/openam.rb, line 43 def logout(token) self.class.post("#{@base_url}#{LOGOUT_URL}", {:subjectid => "#{token}" }) end
openam_user(token_cookie_name, token)
click to toggle source
# File lib/openam_auth/openam.rb, line 34 def openam_user(token_cookie_name, token) self.class.cookies({ token_cookie_name => token }) self.class.post("#{@base_url}#{USER_ATTRIBUTES}", {:subjectid => token}) end
user_hash(response)
click to toggle source
# File lib/openam_auth/openam.rb, line 47 def user_hash(response) opensso_user = Hash.new{ |h,k| h[k] = Array.new } attribute_name = '' lines = response.split(/\n/) lines.each do |line| line = line.strip if line.match(/^userdetails.attribute.name=/) attribute_name = line.gsub(/^userdetails.attribute.name=/, '').strip elsif line.match(/^userdetails.attribute.value=/) opensso_user[attribute_name] << line.gsub(/^userdetails.attribute.value=/, '').strip end end opensso_user end
valid_token?(token)
click to toggle source
# File lib/openam_auth/openam.rb, line 29 def valid_token?(token) response = self.class.get("#{@base_url}#{IS_TOKEN_VALID}?tokenid=#{token}", {}) response.body.split('=').last.strip == 'true' end