Search in sources :

Example 1 with Ticket

use of org.apereo.cas.ticket.Ticket in project cas by apereo.

the class TicketEncryptionDecryptionTests method checkSerializationOfStBase64Encode.

@Test
public void checkSerializationOfStBase64Encode() {
    final MockServiceTicket st = new MockServiceTicket("serviceid", RegisteredServiceTestUtils.getService(), tgt);
    final byte[] bytes = SerializationUtils.serializeAndEncodeObject(cipher, st);
    final String string = EncodingUtils.encodeBase64(bytes);
    assertNotNull(string);
    final byte[] result = EncodingUtils.decodeBase64(string);
    final Ticket obj = SerializationUtils.decodeAndDeserializeObject(result, cipher, Ticket.class);
    assertNotNull(obj);
}
Also used : MockServiceTicket(org.apereo.cas.mock.MockServiceTicket) MockTicketGrantingTicket(org.apereo.cas.mock.MockTicketGrantingTicket) Ticket(org.apereo.cas.ticket.Ticket) MockServiceTicket(org.apereo.cas.mock.MockServiceTicket) Test(org.junit.Test)

Example 2 with Ticket

use of org.apereo.cas.ticket.Ticket in project cas by apereo.

the class TicketEncryptionDecryptionTests method checkSerializationOfSt.

@Test
public void checkSerializationOfSt() {
    final MockServiceTicket st = new MockServiceTicket("serviceid", RegisteredServiceTestUtils.getService(), tgt);
    final byte[] bytes = SerializationUtils.serializeAndEncodeObject(cipher, st);
    final Ticket obj = SerializationUtils.decodeAndDeserializeObject(bytes, cipher, Ticket.class);
    assertNotNull(obj);
}
Also used : MockServiceTicket(org.apereo.cas.mock.MockServiceTicket) MockTicketGrantingTicket(org.apereo.cas.mock.MockTicketGrantingTicket) Ticket(org.apereo.cas.ticket.Ticket) MockServiceTicket(org.apereo.cas.mock.MockServiceTicket) Test(org.junit.Test)

Example 3 with Ticket

use of org.apereo.cas.ticket.Ticket in project cas by apereo.

the class AbstractCentralAuthenticationService method getTicket.

@Transactional(transactionManager = "ticketTransactionManager", noRollbackFor = InvalidTicketException.class)
@Timed(name = "GET_TICKET_TIMER")
@Metered(name = "GET_TICKET_METER")
@Counted(name = "GET_TICKET_COUNTER", monotonic = true)
@Override
public <T extends Ticket> T getTicket(final String ticketId) throws InvalidTicketException {
    Assert.notNull(ticketId, "ticketId cannot be null");
    final Ticket ticket = this.ticketRegistry.getTicket(ticketId);
    verifyTicketState(ticket, ticketId, null);
    return (T) ticket;
}
Also used : TicketGrantingTicket(org.apereo.cas.ticket.TicketGrantingTicket) Ticket(org.apereo.cas.ticket.Ticket) Counted(com.codahale.metrics.annotation.Counted) Metered(com.codahale.metrics.annotation.Metered) Timed(com.codahale.metrics.annotation.Timed) Transactional(org.springframework.transaction.annotation.Transactional)

Example 4 with Ticket

use of org.apereo.cas.ticket.Ticket in project cas by apereo.

the class TicketGrantingTicketCheckAction method doExecute.

/**
     * Determines whether the TGT in the flow request context is valid.
     *
     * @param requestContext Flow request context.
     *
     * @throws Exception in case ticket cannot be retrieved from the service layer
     * @return {@link #NOT_EXISTS}, {@link #INVALID}, or {@link #VALID}.
     */
@Override
protected Event doExecute(final RequestContext requestContext) throws Exception {
    final String tgtId = WebUtils.getTicketGrantingTicketId(requestContext);
    if (!StringUtils.hasText(tgtId)) {
        return new Event(this, NOT_EXISTS);
    }
    String eventId = INVALID;
    try {
        final Ticket ticket = this.centralAuthenticationService.getTicket(tgtId, Ticket.class);
        if (ticket != null && !ticket.isExpired()) {
            eventId = VALID;
        }
    } catch (final AbstractTicketException e) {
        LOGGER.trace("Could not retrieve ticket id [{}] from registry.", e.getMessage());
    }
    return new Event(this, eventId);
}
Also used : Ticket(org.apereo.cas.ticket.Ticket) Event(org.springframework.webflow.execution.Event) AbstractTicketException(org.apereo.cas.ticket.AbstractTicketException)

Example 5 with Ticket

use of org.apereo.cas.ticket.Ticket in project cas by apereo.

the class CouchbaseTicketRegistry method addTicket.

@Override
public void addTicket(final Ticket ticketToAdd) {
    LOGGER.debug("Adding ticket [{}]", ticketToAdd);
    try {
        final Ticket ticket = encodeTicket(ticketToAdd);
        final SerializableDocument document = SerializableDocument.create(ticket.getId(), getTimeToLive(ticketToAdd), ticket);
        LOGGER.debug("Created document for ticket [{}]. Upserting into bucket [{}]", ticketToAdd, this.couchbase.bucket().name());
        this.couchbase.bucket().upsert(document);
    } catch (final Exception e) {
        LOGGER.error("Failed adding [{}]: [{}]", ticketToAdd, e);
    }
}
Also used : TicketGrantingTicket(org.apereo.cas.ticket.TicketGrantingTicket) ProxyGrantingTicket(org.apereo.cas.ticket.proxy.ProxyGrantingTicket) ProxyTicket(org.apereo.cas.ticket.proxy.ProxyTicket) ServiceTicket(org.apereo.cas.ticket.ServiceTicket) Ticket(org.apereo.cas.ticket.Ticket) SerializableDocument(com.couchbase.client.java.document.SerializableDocument)

Aggregations

Ticket (org.apereo.cas.ticket.Ticket)38 TicketGrantingTicket (org.apereo.cas.ticket.TicketGrantingTicket)13 ServiceTicket (org.apereo.cas.ticket.ServiceTicket)11 TicketDefinition (org.apereo.cas.ticket.TicketDefinition)6 ProxyGrantingTicket (org.apereo.cas.ticket.proxy.ProxyGrantingTicket)6 Test (org.junit.Test)6 MockServiceTicket (org.apereo.cas.mock.MockServiceTicket)5 MockTicketGrantingTicket (org.apereo.cas.mock.MockTicketGrantingTicket)5 ArrayList (java.util.ArrayList)4 HashMap (java.util.HashMap)3 AttributeValue (com.amazonaws.services.dynamodbv2.model.AttributeValue)2 GetItemRequest (com.amazonaws.services.dynamodbv2.model.GetItemRequest)2 ScanRequest (com.amazonaws.services.dynamodbv2.model.ScanRequest)2 ScanResult (com.amazonaws.services.dynamodbv2.model.ScanResult)2 Counted (com.codahale.metrics.annotation.Counted)2 Metered (com.codahale.metrics.annotation.Metered)2 Timed (com.codahale.metrics.annotation.Timed)2 SerializableDocument (com.couchbase.client.java.document.SerializableDocument)2 Collection (java.util.Collection)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2