2.0.0 • Published 1 year ago

signed-token v2.0.0

Weekly downloads
4
License
Unlicense
Repository
github
Last release
1 year ago

signed-token

signed HMAC crypto token

NPM version

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.

TOC

Example

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

API

signedToken(secret, [opts])

creates a signedToken instance, wrapping secret

Parameters

parametertypedescription
secretstringcommon secret
[opts]objectoptional:
[opts.digest=sha265]stringoptional: hmac digest
[opts.commonlen=24]numberoptional: length of random bytes for common length
[opts.tokenlen=64]numberoptional: length of token

Returns object, {create, verify, createSync, verifySync, hmac}

create

creates a signed token

Returns Promise, {string} signed token url safe base64 encoded

createSync

sync generation of a signed token

Returns string signed token url safe base64 encoded

verify

verify a signed token using secret

Returns Promise, {string|undefined} - token if it was correctly signed

verifySync

sync validation of signed token

Returns string,undefined, token if it was correctly signed

Installation

Requires nodejs >= v12.0.0

$ npm install --save signed-token

Tests

$ npm test

LICENSE

UNLICENSE https://unlicense.org