Class: CASRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/rack-cas/cas_request.rb

Instance Method Summary collapse

Constructor Details

#initialize(request) ⇒ CASRequest

Returns a new instance of CASRequest.



4
5
6
# File 'lib/rack-cas/cas_request.rb', line 4

def initialize(request)
  @request = request
end

Instance Method Details

#logout?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/rack-cas/cas_request.rb', line 22

def logout?
  @request.path_info == '/logout'
end

#service_urlObject



18
19
20
# File 'lib/rack-cas/cas_request.rb', line 18

def service_url
  RackCAS::URL.parse(@request.url).remove_param('ticket').to_s
end

#single_sign_out?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/rack-cas/cas_request.rb', line 26

def single_sign_out?
  !!@request.params['logoutRequest']
end

#ticketObject



8
9
10
11
12
13
14
15
16
# File 'lib/rack-cas/cas_request.rb', line 8

def ticket
  @ticket ||= if single_sign_out?
    xml = Nokogiri::XML(@request.params['logoutRequest'])
    node = xml.root.children.find { |c| c.name =~ /SessionIndex/i }
    node.text unless node.nil?
  else
    @request.params['ticket']
  end
end

#ticket_validation?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/rack-cas/cas_request.rb', line 30

def ticket_validation?
  !!@request.params['ticket']
end