AtlatestRepositorysigil-jwt
1# sigil-jwt
2
3A [Sigil](https://codeberg.org/sigil/sigil) library for creating and verifying JSON Web Tokens (JWT) with HMAC-SHA256 signatures.
4
5## Features
6
7- **Token creation** -- sign claims with HS256
8- **Token verification** -- validate signature and expiration
9- **Unsafe decoding** -- inspect claims without verification (e.g. to select the correct key)
10- **Automatic timestamps** -- `iat` injected at creation, `exp` checked at decode
12## Usage
14Add `sigil-jwt` as a dependency in your `package.sgl`:
16```scheme
17(from-git url: "codeberg:sigil/sigil-jwt" package: "sigil-jwt")
18```
20Then create and verify tokens:
22```scheme
23(import (sigil jwt))
25;; Create a signed token
26(define token (jwt-encode '((sub . "user123")
27 (exp . 1735689600))
28 "my-secret"))
30;; Verify and decode
31(define claims (jwt-decode token "my-secret"))
32;; => ((sub . "user123") (exp . 1735689600) (iat . ...))
34;; Decode without verification
35(define claims (jwt-decode-unsafe token))
36```
38## Dependencies
40- sigil-stdlib
41- sigil-json
42- sigil-fp
44## Building
46```bash
47sigil deps install
48sigil build
49sigil test
50```
52## License
54BSD-3-Clause