Class ExpectedAssociationFileBuilder

java.lang.Object
io.jans.fido2.service.readiness.ExpectedAssociationFileBuilder

public final class ExpectedAssociationFileBuilder extends Object
The one definition of what a relying party's association files should contain, built from its RequestedParty. Pure: no I/O, no configuration access, nothing is served.

Shape: one assetlinks.json statement per AndroidApp, carrying all of that app's fingerprints, with the delegate_permission/common.get_login_creds relation; and an apple-app-site-association with webcredentials.apps entries of the form TeamID.BundleID. The readiness checker compares deployed files against this, and serving the files should reuse it so the two cannot disagree.

  • Field Details

  • Method Details

    • assetLinks

      public static com.fasterxml.jackson.databind.node.ArrayNode assetLinks(RequestedParty party)
      The expected assetlinks.json: a JSON array with one statement per configured Android app.
    • appleAppSiteAssociation

      public static com.fasterxml.jackson.databind.JsonNode appleAppSiteAssociation(RequestedParty party)
      The expected apple-app-site-association: a JSON object with webcredentials.apps.
    • iosAppId

      public static String iosAppId(IosApp app)
      TeamID.BundleID.
    • normalizeFingerprint

      public static String normalizeFingerprint(String fingerprint)
      Upper-case colon-separated hex, whatever the input style (with or without colons, any case), or null unless the input is whole hex bytes, optionally colon-separated between bytes.