authentication

Cancel the authentication

Cancel/close the authentication.

post/cancelAuthentication

Request

Headers

Authorizationstring
Example:Bearer eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiZGlyIn0..yQGpzEpF3OT1y_QZUzL2Ag.mLiSvEZElh2ryJOFGDwmb1hvP-2vAgUck20qzj5uExfWSodomogSGk1lHaJEHo3Oa3C4yzdpGVRz6C2crWHKzUxgrNgNzV2sTxFf_FpW-OueEZwW3Sf41qi7dWoIHMaFc6v7hJOsrWrELv7nBnY1xKQ7TCll37xW6JgSEM_IyAvGopaME1WnWvbN2k_lOUcJowxQutFtRzey8c0VNPKFOj3XG9PvdeApcyZoGj7Emi9whJ_OsCSzyYRmTEZ-KR9Ay6383nedhANUTbAsZgD18Jzty0be7hCbnnRRgr4tt7thIIoAK99G14ZWJTRS7iOG41Srch30PkXskp9PG3sa4KgQqgE_bCgVtZgGTN19A7taVPYo6V7oeeM_iufzkhMuyHuwomKRWhW0moXikHcFLO0ACg3FpdQl8Seflq9hLHqYSTli4gyo04syq9VkZ0HjKyaIXb4iF6OAVNGX8h80BzzRgRTMbhEcu_PQWiwdJ6fHgINRM3tWFvhIwIdKiIeOBVy5wSKLrDxCRUZTTMafknhaVqflncDuvJJ4A9ebNcVblhViFNgRzQkDYlbIXKpfblc-7iDUGowyF9GES2ReGrLPWPc0vXt6LTLbwqpeOMoLYRR5X9x-NwQYA_Dm_f8bdMsEDfI_PqOuRFI5jioZGrqBXCBdlT7Oq5mxJRNSOY5mP--vcJQsKlbpIuPoExRRGLcVR6TgCeVL5R_gshonSiPohn2dG1oyxU5UYC4mpDkg9B1p7OFggvoIiUKlT41m.1-iOmA8AuGxZo6sn9k3JXuBsAhRM1bJWQSfYfiUK5Qk

The bearer token. The access token is returned in response of /oauth2/token endpoint. Mandatory if OAuth2 protocol is required to secure the API.

Datestring rfc5322
Example:Wed, 25 Oct 2023 13:00:05 GMT

The date and time of the request. Mandatory if OAuth2 protocol is required to secure the API.

Digeststring
Example:SHA-256=8HAW5Ig3X/RCOG840pFdji5JnPGNa4i32lsilUt3qK4=

The digest of the request, corresponding to the SHA-256 hash of the payload, encoded in Base64, prefixed by "SHA-256=". Mandatory if OAuth2 protocol is required to secure the API.

Signaturestring
Example:keyId="e77d776b-90af-4684-bebc-521e5b2614dd",algorithm="rsa-sha256",headers="(request-target) date digest",signature="v7aAwExqWvvksa3OqwTF1aSumK2LDj3K8B8zxRTn+uc3dENlkAK9vptpTYYL/djHYcRB277EAopP0TCD6xZNwyA4vAdFJCsZc81a74c6zW8PgMAScFeIeLqIbJ1BbrYu1WUyhIHiS1Sa909NyjqmGrN4eGanGe4c8ve2sdbfuv4cC/4jrdKFfoLN8uvgF5XFqrfXih6C990OX4c2pKetroEuLOY3nkM2584XdAuo6jRHg78f4BfCgHZ8qOH8uVls3dXhMQxgyzTov2UA73zfczX5XM3ugU219gBBm5Z5XOWq2KJrxJQ1GrHY1rTaehzSmIIpQrjO/W6cyJ8lLAfQvw=="

The HTTP Signature of the request, including the 4 following parameters:

  • keyId: The client ID of APM platform defined during the Oauth 2.0 project;
  • algorithm: The algorithm used to sign the request, corresponding to the RSA-SHA256 algorithm;
  • headers: The list of headers included in the signature, separated by a space, which is currently "(request-target) date digest";
  • signature: The signature of the headers value, using the chosen algorithm (rsa-sha256).

Mandatory if OAuth2 protocol using HTTP signature is required to secure the API.

x-jws-signaturestring
Example:eyJiNjQiOmZhbHNlLCJ4NXQjUzI1NiI6ImR5dFBwU2tKWXpoVGRQWFNXUDdqaFhnRzRrQ09XSVdHaWVzZHprdk5MelkiLCJjcml0IjpbInNpZ1QiLCJzaWdEIiwiYjY0Il0sInNpZ1QiOiIyMDIzLTExLTI2VDExOjI2OjU3WiIsInNpZ0QiOnsicGFycyI6WyIocmVxdWVzdC10YXJnZXQpIiwiY29udGVudC10eXBlIiwiZGlnZXN0Il0sIm1JZCI6Imh0dHA6Ly91cmkuZXRzaS5vcmcvMTkxODIvSHR0cEhlYWRlcnMifSwiYWxnIjoiUlMyNTYifQ..Q9ZSYXJ0QWSoPBfBUR58Sqplw7BQcrcqVR6rvnqfBOvosbBLcsBjkjzi1kCF 2cJsHTJRtp6GcJmZplqRg-7_QBKQAgkUq0BGQpzZwhVYrvP0opdLEarVBrej YA05gt3qnleuS53DWmyZu9iNxhwJTYVPyXediwo3TIlSn-8XjSTZAVHa728E WK6XzRC9rEroXYPYd23iQLXetMygLaDhRT2lGhV5WvmO0wC0B6RbGiYl2zIv D0XliMP6MidX4SDY5zlzyWyFlHqX7eHpkH8xxqAsBdKb16y4IdOoRhil9yws vlzkG6-U9jmBU4y_m3mZArD22oRVXTywzFn9NUtY9w

The JWS Signature of the request, composed of [protected_header].[payload].[signature], where:

  • [protected_header] is a base64 encoded JSON composed of parameters:
    • b64: Parameter set to false;
    • x5t#S256: The digest (fingerprint) of the X.509 signing certificate using SHA 256, that shall be checked against the certificate used to validate the signature;
    • crit: Critical non-standard JWS header parameters (not defined in RFC 7515), set to ["sigT","sigD","b64"];
    • sigT: The date and time of the signature creation, to the second, indicated in UTC (ending with Z);
    • sigD: Parameter that shall contain:
      • mId: Parameter set to http://uri.etsi.org/19182/HttpHeaders;
      • pars: List including the following HTTP header field names: (request-target), content-type, digest;
    • alg: The algorithm used to sign the request, set to RS256;
  • [payload] is empty;
  • [signature] is the Base64 encoded signature of protected_header concatenated with HTTP header strings.

Example of protected_header before Base64 encoding:

{
  "b64": false,
  "x5t#S256": "dytPpSkJYzhTdPXSWP7jhXgG4kCOWIWGiesdzkvNLzY",
  "crit": [
    "sigT",
    "sigD",
    "b64"
  ],
  "sigT": "2023-11-26T11:26:57Z",
  "sigD": {
    "pars": [
      "(request-target)",
      "content-type",
      "digest"
    ],
    "mId": "http://uri.etsi.org/19182/HttpHeaders"
  },
  "alg": "RS256"
}

Example of resulting Base64 encoded protected_header (without line breaks or extra spaces):

eyJiNjQiOmZhbHNlLCJ4NXQjUzI1NiI6ImR5dFBwU2tKWXpoVGRQWFNXUDdqaFhnRzRrQ09XSVdHaWVzZHprdk5MelkiLCJjcml0IjpbInNpZ1QiLCJzaWdEIiwiYjY0Il0sInNpZ1QiOiIyMDIzLTExLTI2VDExOjI2OjU3WiIsInNpZ0QiOnsicGFycyI6WyIocmVxdWVzdC10YXJnZXQpIiwiY29udGVudC10eXBlIiwiZGlnZXN0Il0sIm1JZCI6Imh0dHA6Ly91cmkuZXRzaS5vcmcvMTkxODIvSHR0cEhlYWRlcnMifSwiYWxnIjoiUlMyNTYifQ

Example of HTTP headers:

(request-target): post /initiateAuthentication
content-type: application/json
digest: SHA-256=+xeh7JAayYPh8K13UnQCBBcniZzsyat+KDiuy8aZYdI=

Example of resulting input data for signature:

eyJiNjQiOmZhbHNlLCJ4NXQjUzI1NiI6ImR5dFBwU2tKWXpoVGRQWFNXUDdqaFhnRzRrQ09XSVdHaWVzZHprdk5MelkiLCJjcml0IjpbInNpZ1QiLCJzaWdEIiwiYjY0Il0sInNpZ1QiOiIyMDIzLTExLTI2VDExOjI2OjU3WiIsInNpZ0QiOnsicGFycyI6WyIocmVxdWVzdC10YXJnZXQpIiwiY29udGVudC10eXBlIiwiZGlnZXN0Il0sIm1JZCI6Imh0dHA6Ly91cmkuZXRzaS5vcmcvMTkxODIvSHR0cEhlYWRlcnMifSwiYWxnIjoiUlMyNTYifQ.(request-target): post /initiateAuthentication
content-type: application/json
digest: SHA-256=+xeh7JAayYPh8K13UnQCBBcniZzsyat+KDiuy8aZYdI=

Example of signed data:

Q9ZSYXJ0QWSoPBfBUR58Sqplw7BQcrcqVR6rvnqfBOvosbBLcsBjkjzi1kCF 2cJsHTJRtp6GcJmZplqRg-7_QBKQAgkUq0BGQpzZwhVYrvP0opdLEarVBrej YA05gt3qnleuS53DWmyZu9iNxhwJTYVPyXediwo3TIlSn-8XjSTZAVHa728E WK6XzRC9rEroXYPYd23iQLXetMygLaDhRT2lGhV5WvmO0wC0B6RbGiYl2zIv D0XliMP6MidX4SDY5zlzyWyFlHqX7eHpkH8xxqAsBdKb16y4IdOoRhil9yws vlzkG6-U9jmBU4y_m3mZArD22oRVXTywzFn9NUtY9w

Example of resulting JWS:

eyJiNjQiOmZhbHNlLCJ4NXQjUzI1NiI6ImR5dFBwU2tKWXpoVGRQWFNXUDdqaFhnRzRrQ09XSVdHaWVzZHprdk5MelkiLCJjcml0IjpbInNpZ1QiLCJzaWdEIiwiYjY0Il0sInNpZ1QiOiIyMDIzLTExLTI2VDExOjI2OjU3WiIsInNpZ0QiOnsicGFycyI6WyIocmVxdWVzdC10YXJnZXQpIiwiY29udGVudC10eXBlIiwiZGlnZXN0Il0sIm1JZCI6Imh0dHA6Ly91cmkuZXRzaS5vcmcvMTkxODIvSHR0cEhlYWRlcnMifSwiYWxnIjoiUlMyNTYifQ..Q9ZSYXJ0QWSoPBfBUR58Sqplw7BQcrcqVR6rvnqfBOvosbBLcsBjkjzi1kCF 2cJsHTJRtp6GcJmZplqRg-7_QBKQAgkUq0BGQpzZwhVYrvP0opdLEarVBrej YA05gt3qnleuS53DWmyZu9iNxhwJTYVPyXediwo3TIlSn-8XjSTZAVHa728E WK6XzRC9rEroXYPYd23iQLXetMygLaDhRT2lGhV5WvmO0wC0B6RbGiYl2zIv D0XliMP6MidX4SDY5zlzyWyFlHqX7eHpkH8xxqAsBdKb16y4IdOoRhil9yws vlzkG6-U9jmBU4y_m3mZArD22oRVXTywzFn9NUtY9w

Mandatory if OAuth2 protocol using JWS signature is required to secure the API."

Request body

signaturestring

The signature of the message.

The signature is optional and is only filled and/or checked if explicitly required. Otherwise, signature value is ignored in responses and left empty in requests. Signatures can be activated for each issuer, sub-issuer individually and at a method level.

To pass validation, the signature format must be RFC 7515 (JSON Web Signature) and RFC 7797 (Unencoded or detached payload) compliant. As such, a typical signature should look like this: [header]..[signature], where:

  • [header] is the Base64 URL encoded value of the JOSE header which contains the key ID, algorithm and object type. For example: eyJraWQiOiJzaWduIiwidHlwIjoiSk9TRStKU09OIiwiYWxnIjoiUlMyNTYifQ, which gives, in clear JSON: {"kid":"sign","typ":"JOSE+JSON","alg":"RS256"}. The kid (Key ID) and alg header fields are both required to perform the check. An additional jku parameter (JWKS URL where to retrieve the public key) can also be specified. Otherwise, it should be expected for public keys to have been exchanged beforehand. The typ is only there by convention and should only be set to JOSE or JOSE+JSON since were are not dealing JWT (tokens) here.
  • [signature] is the Base64 URL encoded value representation of the signature output. The payload used to generate the signature consists of the JSON serialization of the whole object, excluding old signatures and null values, which is then Base 64 URL encoded as well.

If the signature from the response contains a payload value, then it will be ignored in favor of the actual object.

Currently supported algorithms are:

  • RS256
  • RS384
  • RS512
  • ES256
  • ES256K
  • ES384
  • ES512

Example request

{
  "header": {
    "service": "ACS_H0A",
    "issuerCode": "66666",
    "subIssuerCode": "66666",
    "requestId": "d6156f8a-a504-48c4-8f5a-722606bd3d91",
    "keyTag": "01",
    "iv": "d6156f8aa50448c48f5a722606bd3d91"
  },
  "body": {
    "sessionId": "2e84b4c7-b830-4bd1-9145-fb681f0a0979",
    "transactionId": "3840000010b96e4ef00e"
  },
  "signature": "eyJraWQiOiJzaWduIiwidHlwIjoiSk9TRStKU09OIiwiYWxnIjoiUlMyNTYifQ..QslvRsAf7favTzmZACC6l1UbjySjezKwCIJ0T-qxWkla0GjACsp-5TzannnBoTYzpZfa9BasNVRe1UZyTKEF8ViQX_LL_XnMoDttzB15zCoKkLhgcTOqSmrUa2p_hPOTnmL40TAnlykqNA0MlOQ9nox3K7a-rlfAG4FVXypyaHN71rCBfMQiw5eY-57e3DEdcjDAIWMxKh2zaM4HZ43K2fc1DQHGB-k9aTljOZAEhe6D7dgTYV0EGAHzRw51x15xnPD7_z-sJGpun9iVZpf8fHu9dTn5lhMChQvEBqElxWpm6fET7Izm8hqMa1oUkf2l5ue9h-WotzIbzE4PQuLOxw"
}

Response

Cancel response.

signaturestring

The signature of the message.

The signature is optional and is only filled and/or checked if explicitly required. Otherwise, signature value is ignored in responses and left empty in requests. Signatures can be activated for each issuer, sub-issuer individually and at a method level.

To pass validation, the signature format must be RFC 7515 (JSON Web Signature) and RFC 7797 (Unencoded or detached payload) compliant. As such, a typical signature should look like this: [header]..[signature], where:

  • [header] is the Base64 URL encoded value of the JOSE header which contains the key ID, algorithm and object type. For example: eyJraWQiOiJzaWduIiwidHlwIjoiSk9TRStKU09OIiwiYWxnIjoiUlMyNTYifQ, which gives, in clear JSON: {"kid":"sign","typ":"JOSE+JSON","alg":"RS256"}. The kid (Key ID) and alg header fields are both required to perform the check. An additional jku parameter (JWKS URL where to retrieve the public key) can also be specified. Otherwise, it should be expected for public keys to have been exchanged beforehand. The typ is only there by convention and should only be set to JOSE or JOSE+JSON since were are not dealing JWT (tokens) here.
  • [signature] is the Base64 URL encoded value representation of the signature output. The payload used to generate the signature consists of the JSON serialization of the whole object, excluding old signatures and null values, which is then Base 64 URL encoded as well.

If the signature from the response contains a payload value, then it will be ignored in favor of the actual object.

Currently supported algorithms are:

  • RS256
  • RS384
  • RS512
  • ES256
  • ES256K
  • ES384
  • ES512

Example response

{
  "header": {
    "service": "ACS_H0A",
    "issuerCode": "66666",
    "subIssuerCode": "66666",
    "requestId": "d6156f8a-a504-48c4-8f5a-722606bd3d91",
    "keyTag": "01",
    "iv": "d6156f8aa50448c48f5a722606bd3d91"
  },
  "body": {
    "transactionId": "3840000010b96e4ef00e"
  },
  "signature": "eyJraWQiOiJzaWduIiwidHlwIjoiSk9TRStKU09OIiwiYWxnIjoiUlMyNTYifQ..QslvRsAf7favTzmZACC6l1UbjySjezKwCIJ0T-qxWkla0GjACsp-5TzannnBoTYzpZfa9BasNVRe1UZyTKEF8ViQX_LL_XnMoDttzB15zCoKkLhgcTOqSmrUa2p_hPOTnmL40TAnlykqNA0MlOQ9nox3K7a-rlfAG4FVXypyaHN71rCBfMQiw5eY-57e3DEdcjDAIWMxKh2zaM4HZ43K2fc1DQHGB-k9aTljOZAEhe6D7dgTYV0EGAHzRw51x15xnPD7_z-sJGpun9iVZpf8fHu9dTn5lhMChQvEBqElxWpm6fET7Izm8hqMa1oUkf2l5ue9h-WotzIbzE4PQuLOxw"
}

Changes

No recorded changes to this operation across all 1 revision of this API.