[java-identity-provider COMMIT] in /trunk/idp-cas-impl/src: main/java/net/shibboleth/idp/cas/ticket/impl/AbstractTick...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Aug 23 10:28:55 EDT 2016
Author: serac
Date: Tue Aug 23 10:28:55 2016
New Revision: 8345
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8345&view=rev
Log:
IDP-1018 New DataSealer-based TicketService.
https://issues.shibboleth.net/jira/browse/IDP-1018
EncodingTicketService uses a DataSealer to encode serialized ServiceTickets
into the opaque part of the ticket ID. Refactored exisiting impls for code
reuse.
Added:
trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/AbstractTicketService.java
trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketService.java
trunk/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java
Modified:
trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketService.java
Modified: trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketService.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketService.java?rev=8345&r1=8344&r2=8345&view=diff
==============================================================================
--- trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketService.java (original)
+++ trunk/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketService.java Tue Aug 23 10:28:55 2016
@@ -17,88 +17,29 @@
package net.shibboleth.idp.cas.ticket.impl;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
-import net.shibboleth.idp.cas.config.impl.ProxyConfiguration;
-import net.shibboleth.idp.cas.config.impl.ValidateConfiguration;
-import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
-import net.shibboleth.idp.cas.ticket.ProxyTicket;
import net.shibboleth.idp.cas.ticket.ServiceTicket;
-import net.shibboleth.idp.cas.ticket.Ticket;
-import net.shibboleth.idp.cas.ticket.TicketServiceEx;
import net.shibboleth.idp.cas.ticket.TicketState;
-import net.shibboleth.idp.cas.ticket.serialization.impl.ProxyGrantingTicketSerializer;
-import net.shibboleth.idp.cas.ticket.serialization.impl.ProxyTicketSerializer;
-import net.shibboleth.idp.cas.ticket.serialization.impl.ServiceTicketSerializer;
import net.shibboleth.utilities.java.support.logic.Constraint;
import org.joda.time.Instant;
-import org.opensaml.storage.StorageRecord;
-import org.opensaml.storage.StorageSerializer;
import org.opensaml.storage.StorageService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Simple CAS ticket management service that delegates storage to {@link org.opensaml.storage.StorageService}.
*
* @author Marvin S. Addison
*/
-public class SimpleTicketService implements TicketServiceEx {
-
- /** Map of ticket classes to context names. */
- private static final Map<Class<? extends Ticket>, String> CONTEXT_CLASS_MAP = new HashMap<>();
-
- /** Map of ticket classes to serializers. */
- private static final Map<Class<? extends Ticket>, StorageSerializer<? extends Ticket>> SERIALIZER_MAP =
- new HashMap<>();
-
- private static final ServiceTicketSerializer ST_SERIALIZER = new ServiceTicketSerializer();
-
- private static final ProxyTicketSerializer PT_SERIALIZER = new ProxyTicketSerializer();
-
- private static final ProxyGrantingTicketSerializer PGT_SERIALIZER = new ProxyGrantingTicketSerializer();
-
- /** Class logger. */
- private final Logger log = LoggerFactory.getLogger(SimpleTicketService.class);
-
- /** Storage service to which ticket persistence operations are delegated. */
- @Nonnull
- private final StorageService storageService;
-
- static {
- CONTEXT_CLASS_MAP.put(ServiceTicket.class, LoginConfiguration.PROFILE_ID);
- CONTEXT_CLASS_MAP.put(ProxyTicket.class, ProxyConfiguration.PROFILE_ID);
- CONTEXT_CLASS_MAP.put(ProxyGrantingTicket.class, ValidateConfiguration.PROFILE_ID);
- SERIALIZER_MAP.put(ServiceTicket.class, ST_SERIALIZER);
- SERIALIZER_MAP.put(ProxyTicket.class, PT_SERIALIZER);
- SERIALIZER_MAP.put(ProxyGrantingTicket.class, PGT_SERIALIZER);
- }
+public class SimpleTicketService extends AbstractTicketService {
/**
* Creates a new instance.
*
* @param service Storage service to which tickets are persisted.
*/
- public SimpleTicketService(@Nonnull final StorageService service)
- {
- this.storageService = Constraint.isNotNull(service, "StorageService cannot be null.");
- }
-
- @Override
- @Nonnull
- public ServiceTicket createServiceTicket(
- @Nonnull final String id,
- @Nonnull final Instant expiry,
- @Nonnull final String sessionId,
- @Nonnull final String service,
- final boolean renew) {
- throw new UnsupportedOperationException("This version of createServiceTicket is not supported");
[... 143 lines stripped ...]
More information about the commits
mailing list