package org.apereo.cas.support.oauth.profile; import org.apereo.cas.authentication.principal.Principal; import org.apereo.cas.authentication.principal.Service; import org.apereo.cas.services.RegisteredService; import org.pac4j.core.context.J2EContext; /** * This is {@link OAuth20ProfileScopeToAttributesFilter}. * * @author Misagh Moayyed * @since 5.1.0 */ public interface OAuth20ProfileScopeToAttributesFilter { /** * Filter attributes. * * @param service the service * @param profile the profile * @param registeredService the registered service * @param context the context * @return the map */ Principal filter(Service service, Principal profile, RegisteredService registeredService, J2EContext context); /** * Reconcile the service definition. * Usual operations involve translating scopes * to attribute release policies if needed. * The operation is expected to persist service changes. * * @param service the service */ default void reconcile(RegisteredService service) { } }