0.0.5 • Published 18 days ago

jwt-status-list v0.0.5

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
18 days ago

codecov

JWT Status List

This implementation is based on the this IETF draft

This status list is an encoded bit string where the status can be represented by multiple bits. This library provides functions to create and read the status list from a JWT and also to verify the status of a specific entry.

Installation

npm install jwt-status-list

Usage

Creation of a JWT Status List:

// pass the list as an array and the amount of bits per entry.
const list = new StatusList([1, 0, 1, 1, 1], 1);
const iss = 'https://example.com';
const payload: JWTPayload = {
    iss,
    sub: `${iss}/statuslist/1`,
    iat: new Date().getTime() / 1000,
};
const header: JWTHeaderParameters = { alg: 'ES256' };

const jwt = createUnsignedJWT(list, payload, header);

// Sign the JWT with the private key
const signedJwt = await jwt.sign(privateKey);

Interaction with a JWT Status List:

//validation of the JWT is not provided by this library!!!

// jwt that includes the status list reference
const reference = getStatusListFromJWT(jwt);

// download the status list
const list = await fetch(reference.uri);

//TODO: validate that the list jwt is signed by the issuer and is not expired!!!

//extract the status list
const statusList = getListFromStatusListJWT(list);

//get the status of a specific entry
const status = statusList.getStatus(reference.idx);

// handle the status

Development

Install the dependencies:

pnpm install

Run the tests:

pnpm test
0.0.5

18 days ago

0.0.4

19 days ago

0.0.3

19 days ago

0.0.2

19 days ago

0.0.1

19 days ago