/*
* See LICENSE for licensing and NOTICE for copyright.
*/
/*
* See LICENSE for licensing and NOTICE for copyright.
*/
package net.shibboleth.idp.cas.config;
import net.shibboleth.idp.cas.authn.Authenticator;
import net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.X509HostnameVerifier;
import javax.annotation.Nonnull;
import java.net.URI;
import java.util.Collections;
import java.util.Set;
/**
* CAS proxy-granting ticket configuration modeled as an IdP profile.
*
* @author Marvin S. Addison
*/
public class ProxyGrantingTicketConfiguration extends AbstractTicketConfiguration {
/** Proxy ticket profile URI. */
public static final String PROFILE_ID = PROTOCOL_URI + "/pgt";
/** Hostname verification strategy used in validating proxy callback. */
@Nonnull
private Authenticator<URI, Void> proxyAuthenticator;
/** PGTIOU ticket ID generator. */
@Nonnull
private IdentifierGenerationStrategy pgtIOUGenerator = new TicketIdentifierGenerationStrategy(50, "PGTIOU");
/** Creates a new instance. */
public ProxyGrantingTicketConfiguration() {
super(PROFILE_ID);
}
@Override
public void initialize() throws ComponentInitializationException {
Constraint.isNotNull(getSecurityConfiguration().getClientTLSValidationConfiguration(),
"TLS validation configuration cannot be null");
super.initialize();
}
/**
* @return PGTIOU ticket ID generator.
*/
@Nonnull
public IdentifierGenerationStrategy getPGTIOUGenerator() {
return pgtIOUGenerator;
}
/**
* Sets the PGTIOU ticket ID generator.
*
* @param generator ID generator.
*/
public void setPGTIOUGenerator(@Nonnull IdentifierGenerationStrategy generator) {
this.pgtIOUGenerator = Constraint.isNotNull(generator, "PGTIOU generator cannot be null");
}
}