Package net.shibboleth.idp.cas.ticket
Class TicketIdentifierGenerationStrategy
- java.lang.Object
-
- net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy
-
- All Implemented Interfaces:
IdentifierGenerationStrategy
public class TicketIdentifierGenerationStrategy extends Object implements IdentifierGenerationStrategy
Generates CAS protocol ticket identifiers of the form:[PREFIX]-[SEQUENCE_PART]-[RANDOM_PART]-[SUFFIX],
where suffix is optional. By default tickets have at least 128 bits of entropy in the random part of the identifier.
-
-
Field Summary
Fields Modifier and Type Field Description private org.cryptacular.generator.IdGeneratoridGeneratorGenerator for random part of the ticket.private intticketLengthNumber of characters in random part of generated ticket.private StringticketPrefixTicket prefix.private StringticketSuffixTicket suffix.
-
Constructor Summary
Constructors Constructor Description TicketIdentifierGenerationStrategy(String prefix, int randomLength)Creates a new ticket ID generator.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgenerateIdentifier()StringgenerateIdentifier(boolean xmlSafe)private static booleanisUrlSafe(String s)Whether the URL is safe.voidsetSuffix(String suffix)Sets the ticket ID suffix.
-
-
-
Field Detail
-
idGenerator
private final org.cryptacular.generator.IdGenerator idGenerator
Generator for random part of the ticket.
-
ticketSuffix
@Nullable private String ticketSuffix
Ticket suffix.
-
ticketLength
@Positive private int ticketLength
Number of characters in random part of generated ticket.
-
-
Constructor Detail
-
TicketIdentifierGenerationStrategy
public TicketIdentifierGenerationStrategy(@Nonnull @NotEmpty @ParameterName(name="prefix") String prefix, @Positive @ParameterName(name="randomLength") int randomLength)
Creates a new ticket ID generator.- Parameters:
prefix- Ticket ID prefix (e.g. ST, PT, PGT). MUST be a URL safe string.randomLength- Length in characters of random part of the ticket.
-
-
Method Detail
-
setSuffix
public void setSuffix(@Nullable String suffix)Sets the ticket ID suffix.- Parameters:
suffix- Ticket suffix.
-
generateIdentifier
@Nonnull public String generateIdentifier()
- Specified by:
generateIdentifierin interfaceIdentifierGenerationStrategy
-
generateIdentifier
@Nonnull public String generateIdentifier(boolean xmlSafe)
- Specified by:
generateIdentifierin interfaceIdentifierGenerationStrategy
-
isUrlSafe
private static boolean isUrlSafe(String s)
Whether the URL is safe.- Parameters:
s- URL- Returns:
- whether the URL is safe
-
-