signed HMAC crypto token
Generation and validation of signed HMAC token with variable lengths. The token is url-safe Base64 encoded and can be used in urls as well as forms.
Asynchronous using Promises
const signedToken = require('signed-token')
const stfn = signedToken('my secret')
stfn.create()
.then((token) => stfn.verify(token))
.then((res) => console.log(res)) // res === token
Synchronous
const signedToken = require('signed-token')
const stfn = signedToken('my secret')
const token = stfn.createSync()
const res = stfn.verifySync(token)
res === token
//> true
creates a signedToken instance, wrapping secret
Parameters
parameter | type | description |
---|---|---|
secret |
string | common secret |
[opts] |
object | optional: |
[opts.digest=sha265] |
string | optional: hmac digest |
[opts.commonlen=24] |
number | optional: length of random bytes for common length |
[opts.tokenlen=64] |
number | optional: length of token |
Returns object
, {create, verify, createSync, verifySync, hmac}
creates a signed token
Returns Promise
, {string}
signed token url safe base64 encoded
sync generation of a signed token
Returns string
signed token url safe base64 encoded
verify a signed token using secret
Returns Promise
, {string|undefined}
- token if it was correctly signed
sync validation of signed token
Returns string,undefined
,
token if it was correctly signed
Requires nodejs >= v12.0.0
$ npm install --save signed-token
$ npm test
UNLICENSE https://unlicense.org