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)


24
25
26
# File 'lib/rack-cas/cas_request.rb', line 24

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

#service_urlObject



20
21
22
# File 'lib/rack-cas/cas_request.rb', line 20

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

#single_sign_out?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/rack-cas/cas_request.rb', line 28

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

#ticketObject



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

def ticket
  @ticket ||= if single_sign_out?
    xml = Nokogiri::XML(@request.params['logoutRequest']).tap do |xml|
      xml.remove_namespaces!
    end
    node = xml.at('/LogoutRequest/SessionIndex')
    node.text unless node.nil?
  else
    @request.params['ticket']
  end
end

#ticket_validation?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/rack-cas/cas_request.rb', line 32

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