mirror of https://github.com/tinyhttp/jwt.git
v1rtl e1e5814601 | ||
---|---|---|
.github | ||
.husky | ||
src | ||
tests | ||
.eslintrc | ||
.gitignore | ||
.prettierrc | ||
README.md | ||
bun.lockb | ||
commitlint.config.cjs | ||
package.json | ||
tsconfig.build.json | ||
tsconfig.json |
README.md
Install
bun i @tinyhttp/jwt
API
import { jwt } from '@tinyhttp/jwt'
Options
jwt(options)
secret
: can be an array of strings (in case you are using private / public key encryption), or just a string if you are using basic HMAC signing (see the examples below)algorithm? ("HS256")
: the algorithm used to sign and verify the tokenaudience?
: the expected "audience" of the jwt tokenissuer?
: who issued this tokenexpiresIn?
: expiration time of the token (ex:1d
for 1 day)notBefore?
: not before date of the token (ex:20m
for 20 minutes)requestHeaderName? ("Authorization")
: the name of the header contaning the Bearer tokenresponseHeaderName? ("X-Token")
: the name of the response header containing the new signed token that will be used later ongetToken(string)?: string
: the method used for ex
Example
Basic secret
import { App } from '@tinyhttp/app'
import { jwt } from '@tinyhttp/jwt'
new App()
.use(jwt({ secret: 'secret', algorithm: 'HS256' }))
.get('/', (req, res) => res.send(`Data inside the payload: ${req['user']}`))
.listen(8080)
Private / Public key
import { App } from '@tinyhttp/app'
import { jwt } from '@tinyhttp/jwt'
new App()
.use(jwt({ secret: ['PRIVATE KEY', 'PUBLIC KEY'], algorithm: 'RS256' }))
.get('/', (req, res) => res.send(`Data inside the payload: ${req['user']}`))
.listen(8080)