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.LoggerClass logger.private static final ProxyGrantingTicketSerializerProxy granting ticket serializer.private static final ProxyTicketSerializerProxy ticket serialize.private static final Map<Class<? extends Ticket>,StorageSerializer<? extends Ticket>> Map of ticket classes to serializers.private static final ServiceTicketSerializerService ticket serializer.private final StorageServiceStorage service to which ticket persistence operations are delegated. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static StringGets the storage service context name for the given ticket type.createProxyGrantingTicket(String id, Instant expiry, ProxyTicket proxyTicket, String pgtUrl) Creates a chained proxy-granting ticket from a proxy ticket.createProxyGrantingTicket(String id, Instant expiry, ServiceTicket serviceTicket, String pgtUrl) 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, waitMethods 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
@Nonnull 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
@Nonnull 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, @Nonnull String pgtUrl) Creates a top-level proxy-granting ticket from a service ticket.- Specified by:
createProxyGrantingTicketin interfaceTicketService- Parameters:
id- ID of proxy-granting ticket to create.expiry- Expiration date of proxy-granting ticket.serviceTicket- Successfully-validated service ticket.pgtUrl- Proxy callback URL used to authenticate and identify the proxying service.- Returns:
- Created proxy-granting ticket.
-
createProxyGrantingTicket
@Nonnull public ProxyGrantingTicket createProxyGrantingTicket(@Nonnull String id, @Nonnull Instant expiry, @Nonnull ProxyTicket proxyTicket, @Nonnull String pgtUrl) 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:
createProxyGrantingTicketin interfaceTicketService- Parameters:
id- ID of proxy-granting ticket to create.expiry- Expiration date of proxy-granting ticket.proxyTicket- Successfully-validated proxy ticket.pgtUrl- Proxy callback URL used to authenticate and identify the proxying service.- Returns:
- Created proxy-granting ticket.
-
fetchProxyGrantingTicket
Retrieves a proxy-granting ticket by its ID.- Specified by:
fetchProxyGrantingTicketin interfaceTicketService- Parameters:
id- Proxy-granting ticket ID.- Returns:
- Proxy-granting ticket or null if not found.
-
removeProxyGrantingTicket
Removes the proxy-granting ticket with the given identifier.- Specified by:
removeProxyGrantingTicketin 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
@Nonnull protected static <T extends Ticket> StorageSerializer<T> serializer(@Nonnull Class<T> clazz) 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.
-