Class AbstractTicketService
java.lang.Object
net.shibboleth.idp.cas.ticket.impl.AbstractTicketService
- All Implemented Interfaces:
TicketService
- Direct Known Subclasses:
EncodingTicketService
,SimpleTicketService
Abstract base class for ticket services that rely on
StorageService
for ticket storage.- Since:
- 3.3.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionMap of ticket classes to context names.private final org.slf4j.Logger
Class logger.private static final ProxyGrantingTicketSerializer
Proxy granting ticket serializer.private static final ProxyTicketSerializer
Proxy ticket serialize.private static final Map<Class<? extends Ticket>,
StorageSerializer<? extends Ticket>> Map of ticket classes to serializers.private static final ServiceTicketSerializer
Service ticket serializer.private final StorageService
Storage service to which ticket persistence operations are delegated. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static String
Gets the storage service context name for the given ticket type.createProxyGrantingTicket
(String id, Instant expiry, ProxyTicket proxyTicket) Creates a chained proxy-granting ticket from a proxy ticket.createProxyGrantingTicket
(String id, Instant expiry, ServiceTicket serviceTicket) Creates a top-level proxy-granting ticket from a service ticket.protected <T extends Ticket>
TRetrieves a ticket by ID from the storage service and then deletes it.Retrieves a proxy-granting ticket by its ID.protected <T extends Ticket>
TRetrieves a ticket by ID from the storage service.Removes the proxy-granting ticket with the given identifier.protected static <T extends Ticket>
StorageSerializer<T>serializer
(Class<T> clazz) Gets the storage service serializer for the given ticket type.protected <T extends Ticket>
voidstore
(T ticket) Stores the given ticket in the storage service.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.shibboleth.idp.cas.ticket.TicketService
createProxyTicket, createServiceTicket, removeProxyTicket, removeServiceTicket
-
Field Details
-
CONTEXT_CLASS_MAP
Map of ticket classes to context names. -
SERIALIZER_MAP
private static final Map<Class<? extends Ticket>,StorageSerializer<? extends Ticket>> SERIALIZER_MAPMap of ticket classes to serializers. -
ST_SERIALIZER
Service ticket serializer. -
PT_SERIALIZER
Proxy ticket serialize. -
PGT_SERIALIZER
Proxy granting ticket serializer. -
log
private final org.slf4j.Logger logClass logger. -
storageService
Storage service to which ticket persistence operations are delegated.
-
-
Constructor Details
-
AbstractTicketService
Creates a new instance.- Parameters:
service
- Storage service to which tickets are persisted.
-
-
Method Details
-
createProxyGrantingTicket
@Nonnull public ProxyGrantingTicket createProxyGrantingTicket(@Nonnull String id, @Nonnull Instant expiry, @Nonnull ServiceTicket serviceTicket) Description copied from interface:TicketService
Creates a top-level proxy-granting ticket from a service ticket.- Specified by:
createProxyGrantingTicket
in interfaceTicketService
- Parameters:
id
- ID of proxy-granting ticket to create.expiry
- Expiration date of proxy-granting ticket.serviceTicket
- Successfully-validated service ticket.- Returns:
- Created proxy-granting ticket.
-
createProxyGrantingTicket
@Nonnull public ProxyGrantingTicket createProxyGrantingTicket(@Nonnull String id, @Nonnull Instant expiry, @Nonnull ProxyTicket proxyTicket) Description copied from interface:TicketService
Creates a chained proxy-granting ticket from a proxy ticket. The value ofProxyTicket.getPgtId()
defines the parent of the created ticket, which in turn determines its location in the proxy chain.- Specified by:
createProxyGrantingTicket
in interfaceTicketService
- Parameters:
id
- ID of proxy-granting ticket to create.expiry
- Expiration date of proxy-granting ticket.proxyTicket
- Successfully-validated proxy ticket.- Returns:
- Created proxy-granting ticket.
-
fetchProxyGrantingTicket
Description copied from interface:TicketService
Retrieves a proxy-granting ticket by its ID.- Specified by:
fetchProxyGrantingTicket
in interfaceTicketService
- Parameters:
id
- Proxy-granting ticket ID.- Returns:
- Proxy-granting ticket or null if not found.
-
removeProxyGrantingTicket
Description copied from interface:TicketService
Removes the proxy-granting ticket with the given identifier.- Specified by:
removeProxyGrantingTicket
in interfaceTicketService
- Parameters:
id
- Identifier of ticket to remove.- Returns:
- Removed ticket or null if not found.
-
context
Gets the storage service context name for the given ticket type.- Parameters:
clazz
- Ticket class.- Returns:
- Context name for ticket type.
-
serializer
Gets the storage service serializer for the given ticket type.- Type Parameters:
T
- type of object being serialized- Parameters:
clazz
- Ticket class.- Returns:
- Storage service serializer.
-
store
Stores the given ticket in the storage service.- Type Parameters:
T
- Type of ticket.- Parameters:
ticket
- Ticket to store
-
read
Retrieves a ticket by ID from the storage service.- Type Parameters:
T
- Type of ticket.- Parameters:
id
- Ticket identifier.clazz
- Ticket type.- Returns:
- Ticket or null if ticket not found.
-
delete
Retrieves a ticket by ID from the storage service and then deletes it.- Type Parameters:
T
- Type of ticket.- Parameters:
id
- Ticket identifier.clazz
- Ticket class- Returns:
- Deleted ticket or null if ticket not found.
-