package org.pac4j.cas.profile;
import org.jasig.cas.client.authentication.AttributePrincipal;
import org.pac4j.cas.client.CasProxyReceptor;
import org.pac4j.core.profile.CommonProfile;
import org.pac4j.core.profile.definition.CommonProfileDefinition;
/**
* Profile definition for CAS.
*
* @author Jerome Leleu
* @since 2.0.0
*/
public class CasProfileDefinition extends CommonProfileDefinition<CommonProfile> {
public CasProfileDefinition() {
super(parameters -> {
final AttributePrincipal principal = (AttributePrincipal) parameters[0];
final CasProxyReceptor proxyReceptor = (CasProxyReceptor) parameters[1];
final CasProfile casProfile;
if (proxyReceptor != null) {
casProfile = new CasProxyProfile();
((CasProxyProfile) casProfile).setPrincipal(principal);
} else {
casProfile = new CasProfile();
}
return casProfile;
});
}
}