Getting Started
To get started, you must first generate an asymmetric ECDSA key pair.
Generate a private key:
openssl ecparam -name secp256k1 -genkey -noout -out priv-key.pem
Generate a public key:
openssl ec -in priv-key.pem -pubout > pub-key.pem
Example public key
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuphROC4HZxavxT1Ilb6sezZ1/Bvn
ZrGGxObLjbpCtkrRiBuqzHUO2Ua2g9/OC25FgiUe0K/G+6Tebq7Qd3bnFg==
-----END PUBLIC KEY-----
Send your public key to engineering@abswarranty.net. We will add it to your account and provide you with your Partner ID.
Note: Keep your private key secure - do not send it over an insecure channel or share it with anyone, including ABS.
Create a JSON Web Token (JWT) [rfc7519] with the following claims:
Name | Value |
---|---|
iat | (issued at) - Unix timestamp when the token was created. |
iss | (issuer) - Your Partner ID. |
aud | (audience) - The environment Base URL. |
exp | (expiration time) - Unix timestamp not greater than 2 hours in the future. |
For example:
{
"iat": 1627618568,
"iss": "6102b521f403f42ddcde7ae5",
"aud": "https://sandbox.absintegrations.com/api/v3",
"exp": 1627625768
}
Ensure your JWT has the correct header corresponding with your key pair algorithm.
{
"alg": "ES256",
"typ": "JWT"
}
Using your private key, sign the JWT.
Your JWT will look like this:
eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg
Verify your JWT claims and headers using jwt.io.
Several libraries for all major languages are available to making creating and signing the JWT easy. See https://jwt.io/#libraries-io
Now you're ready to create a registration.