Product Documentation
  • A successful FIDO2_0 response (accompanied by a 200 OK) will look similar to the following:
    {
      "Response": {
        "challenge": "OPbSt3YkbaFF8SWvyLO93H3hI7R7Xp4s6PAlZvjcmtQ",
    "rpId": "strongkey.com", "txid": "123123",
    "txpayload": "AABBBABABABABA",
    "allowCredentials": [{ "type": "public-key", "id": "WBQ0-B9MOEC2LwUn4Vi2K5uA_iDhg3oj7ZJiWG9A5ViFQO6yW1xtf9RGPX-f-Zx3BuS0xavJRey8mJuazZDOAGTnWc3JGH7UGTQzrcwhgizmDJ4t1MrLLjAYQrp64ML_LS9bpWe6_iaAhNHJTDhbeJcgB-Dfigu22xRfSdWbDNacloqveMoSUXuXO8ogJA0AWSq9nxL9MjI7YYV7Z3KOtg36JBe8crPuleQ5Ru_0L30", "alg": -7 },
    { "type": "public-key", "id": "CDuwefbNapAlvyLDnDqe2N8bj7TzapfvxfmUAXDz30LS-JU2kNxxht0LUJFLcFxp7i6r7zBwVwzEaDVprZKzMQ5MQgacjyQZPof_T2Uoeefg8efbTM4aEXYfzeVSEUUAMz7DonqrHvGBaQKVs_NWElrsj-uwZsO8sIsrR1rs_LQwQBokFLbZ6WGNac6v1fDn9x8XfLjHx7bkMQVzCTbwsFW4TZBMMga-qshiEtObLkc", "alg": -7 }], }, "responseCode":"FIDO-MSG-0014", "skfsVersion":"4.12.0", "skfsFQDN":"example.strongkey.com", "TXID":"1-169-1679354369053" }

Response Description

Value

Explanation

challenge

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

rpid

This attribute contains the RFC-6525 origin that represents the RP’s DNS domain. Only credentials registered to this rpid will qualify for providing an authentication assertion – the digital signature of the challenge, thus providing proof of authentication

txid

A string—with a maximum length of 256 characters—that represents a business application-defined unique transaction identifier. It can be anything that is appropriate to the business application. Some examples are shown below:

  • “123456789”
  • “SFAECO-12345”
  • “254900MS6G5FQCUJMZ97-TELLARO-1631149799”

...but will be precisely what was sent in the Request body parameter of this web service.

txpayload

While this is intended to be free-form text with a maximum length of 10,000 characters, it will be precisely what was sent in the Request body parameter of this web service.

NOTE: It is strongly recommended that it is a JSON object using a structure along the lines of the following (see the NOTE below for more info):
{
   "merchantName": "StrongKey",
   "currency": "USD",
   "totalPrice": "14995",
   "cardBrand": "Amex",
   "cardLast4": "x-1234",
   "txid": "254900MS6G5FQCUJMZ97-TELLARO-1631149799",
   "txdate": "Thu Sep 8 17:02:56 PDT 2021"
}

...and base64url-encode the object into something that resembles the following:

ewogICAgIm1lcmNoYW50TmFtZSI6ICJTdHJvbmdLZXkiLAogICAgImN1cnJlbmN5IjogIlVTRCIsCiAgICAidG90YWxQcmljZSI6ICIxNDk5NSIsCiAgICAiY2FyZEJyYW5kIjogIkFtZXgiLAogICAgImNhcmRMYXN0NCI6ICJ4LTEyMzQiLAogICAgInR4aWQiOiAiMjU0OTAwTVM2RzVGUUNVSk1aOTctVEVMTEFSTy0xNjMxMTQ5Nzk5IiwKICAgICJ0eGRhdGUiOiAiVGh1IFNlcCA4IDE3OjAyOjU2IFBEVCAyMDIxIgp9

 

allowCredentials Description

NOTE: This attribute is an array and may have more than one FIDO credential embedded within the attribute as JSON objects (as shown in the example above). Also note that a single challenge will work for any FIDO credential that is used by the user to authorize the transaction.

Value

Explanation

type

This attribute indicates the type of credential from which the RP requires an assertion—the value is always public-key for FIDO/WebAuthn.

id

This attribute contains the unique identifier—credentialId—assigned by FIDO Authenticator to the user’s registered credential

alg

This attribute contains a numerical value, 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 number corresponds to the following:

-7: ES256 or ECDSA with SHA-256 message digests