Skip to main content
Deno 2 is finally here 🎉️
Learn more

hwt

Create and verify JWTs with hex-based keys

HMAC key is composed of the bytes represented by the hex string

Use

import hwt from 'https://deno.land/x/hwt/mod.ts';

Generate hex-key

Generate HMAC hex-key and save it in secure environment

const HEX_KEY = await hwt.generateHex();

// Deno.env.set("HEX_KEY", HEX_KEY);

// console.log(HEX_KEY); 

// 0160e110dd2b177c0ac7bec1244129b37be05bca8719c1ab92b28d22f13da31fbf51a402c38165c546cada57361cd9c141d1fb18dfa6400ee0339e9dc8bb4820a64fa64572f695dc87c0e4e9e1573fd4a57e220bcd6bd55db79c66b725aa0a19c15f6a79fc4dead74eaef5d6e021083a97cf293cb3bad4f7ee7b20c5c7e276cc

Sign JWT

// const HEX_KEY = Deno.env.get("HEX_KEY");
// const payload = {"username": "samandar"};

const jwt = await hwt.sign(HEX_KEY, payload);

Verify JWT

// const HEX_KEY = Deno.env.get("HEX_KEY");
const payload = await hwt.verify(jwt, HEX_KEY); 

// console.log(payload); // {"username": "samandar"};