Class: GcxApi::Cas

Inherits:
Object
  • Object
show all
Defined in:
lib/gcx_api/cas.rb

Instance Method Summary collapse

Constructor Details

#initialize(username = GcxApi.cas_username, password = GcxApi.cas_password) ⇒ Cas

Returns a new instance of Cas.



3
4
5
6
# File 'lib/gcx_api/cas.rb', line 3

def initialize(username = GcxApi.cas_username, password = GcxApi.cas_password)
  @username = username
  @password = password
end

Instance Method Details

#get_cas_service_ticket(service_url) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/gcx_api/cas.rb', line 8

def get_cas_service_ticket(service_url)
  parameters = {username: @username,
                password: @password}
  location = RestClient::Request.execute(:method => :post, :url => GcxApi.cas_url + "/cas/v1/tickets", :payload => parameters, :timeout => -1) { |res, request, result, &block|
                                          # check for error response
                                          if res.code.to_i == 400
                                            raise res.inspect
                                          end
                                          res
  }.headers[:location]

  parameters = {service: service_url}
  ticket = RestClient::Request.execute(:method => :post, :url => location, :payload => parameters, :timeout => -1) { |res, request, result, &block|
                                        # check for error response
                                        if res.code.to_i != 200
                                          raise res.inspect
                                        end
                                        res
  }.to_str
  ticket
end