package at.asitplus.eidas.specific.modules.msproxyservice.handler; import javax.annotation.Nullable; import at.asitplus.eidas.specific.core.config.ServiceProviderConfiguration; import at.asitplus.eidas.specific.modules.msproxyservice.exception.EidasProxyServiceException; import at.gv.egiz.eaaf.core.api.idp.IEidAuthData; import eu.eidas.auth.commons.light.ILightRequest; import lombok.NonNull; /** * Handlers for attribute-processing that requires more features than a simple mapping. * *
Important: That interface provides attribute-specific extension- and modification hooks for * post-processing of service configuration and authentication data. If more than one attribute-specific implementation * operates on the same process, concurrency issues are possible because any implementation of that interface are * executed independent from each other.
* * @author tlenz * */ public interface IEidasAttributeHandler { /** * Perform attribute-releated post-processing of internal Service-Provider configuration. * *Important: Modifications done by that method are independent from any other implementation of
* the same interface and there is no specific order if more than one handler are selected.
* Therefore, concurrency issues has to be noticed!
Important: Modifications done by that method are independent from any other implementation of
* the same interface and there is no specific order if more than one handler are selected.
* Therefore, concurrency issues has to be noticed!
null
*/
@Nullable
String buildAttributeValue(@NonNull IEidAuthData eidAuthData);
/**
* Extended validation of incoming eIDAS AuthnRequest.
*
* @param eidasRequest Incoming eIDAS authentication request
* @throws EidasProxyServiceException In case of a validation error
*/
void validateAuthnRequest(ILightRequest eidasRequest) throws EidasProxyServiceException;
}