Product Documentation
  • A successful FIDO2_0 response will look similar to the following:

    <?xml version='1.0' encoding='UTF-8'?>
      <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
        <S:Body>
          <ns2:preregisterResponse xmlns:ns2="http://soap.skfs.strongauth.com/">
            <return>
            {
              "Response": {
                "rp": {
                  "name": "StrongKey FIDO Server",
                  "id": "strongkey.com"
                },
                "user": {
                  "name": "123e4567-e89b-12d3-a456-426614174000",
                  "id": "D0-3amYmgxF_g8bXPx4gMExsjFJ3Hyfm0H1X2UEOVbk",
                  "displayName": "Genesis Registration"
                },
                "challenge": "BXOVCEVAkv3WzHd_j67Tqg",
                "pubKeyCredParams": [{
                  "type": "public-key",
                  "alg": -7
                },
                {
                  "type": "public-key",
                  "alg": -35
                },
                {
                  "type": "public-key",
                  "alg": -36
                },
                {
                  "type": "public-key",
                  "alg": -8
                },
                {
                  "type": "public-key",
                  "alg": -47
                }],
                "excludeCredentials": [],
                "attestation": "direct"
              },
              "responseCode":"FIDO-MSG-0002",
              "skfsVersion":"4.12.0",
              "skfsFQDN":"example.strongkey.com",
              "TXID":"1-169-1679354369053"
            }
          </return>
        </ns2:preregisterResponse>
      </S:Body>
    </S:Envelope>

     

rp Description

Value

Explanation

name

This attribute contains the name assigned by the web application to the name of the Relying Party (RP)—the company or application with whom the user is interacting.

id

This attribute contains the Domain Name System (DNS) name of the site hosting the application. This is usually a string containing the “top level domain” + “1 sub-domain”, conforming to RFC-6454.

 

user Description

Value

Explanation

name

This attribute contains the name assigned by the web application to the user account registering the FIDO credential.

id

This attribute contains the unique identifier assigned by SKFS to the user account

displayName

This attribute contains the label assigned to the unique Authenticator used by the user when registering with the SKFS.

 

Other Elements of the JSON Response

Value

Explanation

challenge

This attribute contains a Base64Url encoded random “number used once” (nonce), generated by the SKFS, to challenge the Authenticator to sign it with the newly generated Private Key of the FIDO credential.

publicKeyCredParams

This attribute contains an array of JSON objects, each of which describes the Public Key algorithm from the set of COSE Algorithms the SKFS will accept for generated keys. In the example shown, the algorithm numbers correspond to the following:

-7ES256 or ECDSA with SHA-256 message digests

-8: EdDSA

-35: ES384 or ECDSA with SHA-384 message digests

-36: ES512 or ECDSA with SHA-512 message digests

-47: ES256K or ECDSA using secp256k1 curve and SHA-256

excludeCredentials

This attribute contains an array of JSON objects, each of which describes the credential identifiers (credentialId) the SKFS has already registered for this specific user.
The array is intended to provide notice to the Authenticator that if the Authenticator finds a match for a string with the concatenation of the rpid + credentialId from this response, the Authenticator should NOT create a duplicate credential for this user.
A “genesis registration” will always have an empty array as shown in this response (since the user is registering their first FIDO credential with this system).

attestation

This attribute contains a value intended to provide notice to the platform (browser or app) that the SKFS requires the attestation object be conveyed through the manner specified by this value.

NOTE: At the time of writing, the Level-2 WebAuthn specification permits one of four attestation conveyance mechanisms.