package org.apereo.cas.consent; import org.apereo.cas.authentication.Authentication; import org.apereo.cas.authentication.principal.Service; import org.apereo.cas.services.RegisteredService; import java.io.Serializable; import java.util.Map; /** * This is {@link ConsentEngine}. * * @author Misagh Moayyed * @since 5.1.0 */ public interface ConsentEngine extends Serializable { /** * Gets consentable attributes. * * @param authentication the authentication * @param service the service * @param registeredService the registered service * @return the consentable attributes */ Map<String, Object> getConsentableAttributes(Authentication authentication, Service service, RegisteredService registeredService); /** * Is consent required? * * @param service the service * @param registeredService the registered service * @param authentication the authentication * @return the boolean */ boolean isConsentRequiredFor(Service service, RegisteredService registeredService, Authentication authentication); }