Class NativeReadinessController

java.lang.Object
io.jans.fido2.ws.rs.controller.NativeReadinessController

@ApplicationScoped @Path("/rp") public class NativeReadinessController extends Object
Runs the native app readiness checks for one configured relying party: POST /rp/{rpConfigId}/readiness.

rpConfigId is the RP id exactly as configured in requestedParties, as a URL-encoded path segment (an id such as https://jans.io contains : and /). It only selects a configured entry. The body is empty or {"recheck": true}; any other field is ignored and never read, so no request can name a host, URL, port or path to fetch.

Answers 200 with the structured result (also when readiness is disabled), 404 for an id that is not configured, 429 with Retry-After when a rate limit applies. The response never carries fetched content, response headers, resolved addresses or exception text.

SECURITY NOTE: as with Fido2TrustController, authentication and authorization are expected to be enforced at the infrastructure level (API gateway, OAuth interceptor, or reverse proxy) or via the Config API fido2 plugin, not here. The "X-Jans-Requested-By" header only labels the audit log. This server cannot tell who sent it, so treat it as informational until the Config API hop that sets it is trusted.

Author:
Janssen Project
  • Constructor Details

    • NativeReadinessController

      public NativeReadinessController()
  • Method Details

    • check

      @POST @Path("/{rpConfigId}/readiness") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response check(@PathParam("rpConfigId") String rpConfigId, @HeaderParam("X-Jans-Requested-By") String requestedBy, String body)