Accounts are used to authenticate users of server-side services.
In the root document, every application can define an account list:
An account list can optionally be prefixed, in which case all accounts must start with this prefix.
The linked document contains a set of accounts:
Every account must contain a 64-hexdigit random key, which is used to sign requests.
An account list document can optionally link other account lists:
Requests are signed by adding the following header fields:
TIMESTAMP is a Unix timestamp in milliseconds, written as decimal integer. The timestamp must be close to the actual time, and strictly increasing.
HOST is as provided in the request. METHOD is written in uppercase letters. PATH is the URI-decoded request path.
DATA is the raw PUT or POST data submitted with the request.
The signature is hex-encoded.
Using GenericBackend.js, an account object is created as follows:
const backend = new GenericBackend('https://viereck.ch/backend');
const account = backend.account('your-account-id', '44705748... your-account-key');