Class AssociationFileController

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

@ApplicationScoped @Path("/rp/{rpConfigId}/association") public class AssociationFileController extends Object
Exports the native app association files of one configured relying party, to be deployed by the admin on the RP-ID host's /.well-known/ path: GET /rp/{rpConfigId}/association/assetlinks.json and GET /rp/{rpConfigId}/association/apple-app-site-association.

rpConfigId is the RP id exactly as configured, as a URL-encoded path segment. The answer is 404 for an id that is not configured, and also when the RP has no app of that platform, since there is nothing to deploy. The body is the file itself, sent as a download; the Apple file's name has no extension, as Apple requires. These endpoints only read configuration and make no outbound request.

SECURITY NOTE: as with NativeReadinessController, authentication and authorization are expected to be enforced at the infrastructure level or via the Config API fido2 plugin, not here.

Author:
Janssen Project
  • Constructor Details

    • AssociationFileController

      public AssociationFileController()
  • Method Details

    • assetLinks

      @GET @Path("/assetlinks.json") @Produces("application/json") public jakarta.ws.rs.core.Response assetLinks(@PathParam("rpConfigId") String rpConfigId) throws com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
    • appleAppSiteAssociation

      @GET @Path("/apple-app-site-association") @Produces("application/json") public jakarta.ws.rs.core.Response appleAppSiteAssociation(@PathParam("rpConfigId") String rpConfigId) throws com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException