Class: CASinoCore::Processor::API::ServiceTicketProvider

Inherits:
CASinoCore::Processor show all
Includes:
Helper::ServiceTickets, Helper::TicketGrantingTickets
Defined in:
lib/casino_core/processor/api/service_ticket_provider.rb

Overview

The ServiceTicketProvider processor should be used to handle API calls: POST requests to /cas/v1/tickets/<ticket_granting_ticket>

Constant Summary

Constants included from Helper::ServiceTickets

Helper::ServiceTickets::RESERVED_CAS_PARAMETER_KEYS

Constants included from Helper::Tickets

Helper::Tickets::ALLOWED_TICKET_STRING_CHARACTERS

Instance Method Summary collapse

Methods included from Helper::TicketGrantingTickets

#acquire_ticket_granting_ticket, #cleanup_expired_ticket_granting_tickets, #find_valid_ticket_granting_ticket, #load_or_initialize_user, #remove_ticket_granting_ticket

Methods included from Helper::Logger

#logger

Methods included from Helper::Browser

#browser_info, #same_browser?

Methods included from Helper::ServiceTickets

#acquire_service_ticket, #clean_service_url

Methods included from Helper::ProxyTickets

#acquire_proxy_ticket, #ticket_valid_for_service?, #validate_ticket_for_service

Methods included from Helper::Tickets

#random_ticket_string

Methods inherited from CASinoCore::Processor

#initialize

Constructor Details

This class inherits a constructor from CASinoCore::Processor

Instance Method Details

#process(ticket_granting_ticket, parameters = nil, user_agent = nil) ⇒ Object

Use this method to process the request.

The method will call one of the following methods on the listener:

  • #granted_service_ticket_via_api: First and only argument is a String with the service ticket. The service ticket (and nothing else) should be displayed.

  • #invalid_ticket_granting_ticket_via_api: No argument. The application should respond with status “400 Bad Request”

  • #no_service_provided_via_api: No argument. The application should respond with status “400 Bad Request”

  • #service_not_allowed_via_api: The user tried to access a service that this CAS server is not allowed to serve.

Parameters:

  • ticket_granting_ticket (String)

    ticket_granting_ticket supplied by the user in the URL

  • parameters (Hash) (defaults to: nil)

    parameters supplied by user (service in particular)

  • user_agent (String) (defaults to: nil)

    user-agent delivered by the client



23
24
25
26
27
28
29
30
31
# File 'lib/casino_core/processor/api/service_ticket_provider.rb', line 23

def process(ticket_granting_ticket, parameters = nil, user_agent = nil)
  parameters ||= {}
  @client_ticket_granting_ticket = ticket_granting_ticket
  @service_url = parameters[:service]
  @user_agent = user_agent

  fetch_valid_ticket_granting_ticket
  handle_ticket_granting_ticket
end