package org.apereo.cas.ticket.refreshtoken;
import org.apereo.cas.authentication.Authentication;
import org.apereo.cas.authentication.principal.Service;
import org.apereo.cas.ticket.TicketGrantingTicket;
import org.apereo.cas.ticket.code.OAuthCodeImpl;
import org.apereo.cas.ticket.ExpirationPolicy;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
/**
* An OAuth refresh token implementation.
*
* @author Jerome Leleu
* @since 5.0.0
*/
@Entity
@DiscriminatorValue(RefreshToken.PREFIX)
public class RefreshTokenImpl extends OAuthCodeImpl implements RefreshToken {
private static final long serialVersionUID = -3544459978950667758L;
/**
* Instantiates a new OAuth refresh token.
*/
public RefreshTokenImpl() {
// exists for JPA purposes
}
/**
* Constructs a new refresh token with unique id for a service and authentication.
*
* @param id the unique identifier for the ticket.
* @param service the service this ticket is for.
* @param authentication the authentication.
* @param expirationPolicy the expiration policy.
* @param ticketGrantingTicket the ticket granting ticket
* @throws IllegalArgumentException if the service or authentication are null.
*/
public RefreshTokenImpl(final String id, final Service service, final Authentication authentication,
final ExpirationPolicy expirationPolicy, final TicketGrantingTicket ticketGrantingTicket) {
super(id, service, authentication, expirationPolicy, ticketGrantingTicket);
}
@Override
public String getPrefix() {
return RefreshToken.PREFIX;
}
}