Class RESTAuthFilter

java.lang.Object
ecmwf.ecpds.mover.service.RESTAuthFilter
All Implemented Interfaces:
jakarta.ws.rs.container.ContainerRequestFilter

@Provider @Priority(1000) public final class RESTAuthFilter extends Object implements jakarta.ws.rs.container.ContainerRequestFilter
Verifies the HMAC-SHA256 signature (RESTSignature) that RESTClient attaches to every "mover/*" and "master/*" control-channel request. This channel is served by the very same RESTServer JAX-RS resource - and therefore the same HTTPS port and servlet context ("/ecpds") - as the end-user facing data portal paths ("home/", "file/", "data/...", "register", ...), which have their own, separate, authentication and are deliberately left untouched by this filter (only paths starting with "mover/" or "master/" are checked). If [Security] rccSharedSecret is not configured (RESTSignature.ENABLED is false), this filter is a no-op and the control channel remains reachable without authentication, exactly as it was before this filter was introduced - this preserves backward compatibility for existing deployments, but is strongly discouraged: a startup warning is logged by RESTSignature in that case.
  • Constructor Details

    • RESTAuthFilter

      public RESTAuthFilter()
  • Method Details

    • filter

      public void filter(jakarta.ws.rs.container.ContainerRequestContext requestContext)
      Filter.
      Specified by:
      filter in interface jakarta.ws.rs.container.ContainerRequestFilter