itsdangerjs
v0.0.2
Published
Javascript port of the Python itsdangerous module with influence from the ReallyDangerous javascript module
Downloads
394
Readme
itsdangerjs
Javascript port of the Python itsdangerous module with influence from the ReallyDangerous javascript module
Features
- Timestamp Signer
- URL Safe Signer
- Timestamp URL Safe Signer
Usage
Signer
const itsdanger = require('itsdangerjs');
const signer = itsdanger.Signer('my-secret')
console.log(signer.sign('test'))
// 'test.XxfCnMKrwrLCgGzDnlXCjcKgw4vCjh8ow7oAfMOALxxAwoHCrnrCtcOswojCuVYBwp0DX8KlcW7ClMO7wpUeTWTDu8OOwofDhMO3wpgaQzpSw4Ukw6vCv8OoXl7Dig7DksKp'
console.log(signer.unsign('test.XxfCnMKrwrLCgGzDnlXCjcKgw4vCjh8ow7oAfMOALxxAwoHCrnrCtcOswojCuVYBwp0DX8KlcW7ClMO7wpUeTWTDu8OOwofDhMO3wpgaQzpSw4Ukw6vCv8OoXl7Dig7DksKp'))
// 'test'itsdanger.Signer(secretKey[, salt, sep, digestMethod, algorithm])
secretKey{String} Secret to be usedsalt{String} (default is 'itsdangerjs.Signer')sep{String} (default is '.')digestMethod{String} Digest method for signing (default is 'sha512')algorithm{Function|Class} Algorithm to use for hashing (default is HMAC) - see signer.js for details
signer.sign(value)
value{String} The value to be signed
Returns signed string
signer.unsign(signedValue)
signedValue{String} Signed value
Returns original value if signature is correct
TimestampSigner
const itsdanger = require('itsdangerjs');
const signer = new itsdanger.TimestampSigner('my-secret');
console.log(signer.sign('test'));
// 'test.AWmhAxll.MGV2wprCk2FkDgfCpsK8w6AZwoAAHwtYwofCjMKrwqwQSAAWOMKYZsKPw5tjFgbCg8KrOcOJwotgY3grW34lecKiaDvCkMOYNxfDuS9CZi8Mw4ksKMKH'
console.log(signer.unsign('test.AWmhAxll.MGV2wprCk2FkDgfCpsK8w6AZwoAAHwtYwofCjMKrwqwQSAAWOMKYZsKPw5tjFgbCg8KrOcOJwotgY3grW34lecKiaDvCkMOYNxfDuS9CZi8Mw4ksKMKH'));
// 'test'
console.log(signer.getTimestamp('test.AWmhAxll.MGV2wprCk2FkDgfCpsK8w6AZwoAAHwtYwofCjMKrwqwQSAAWOMKYZsKPw5tjFgbCg8KrOcOJwotgY3grW34lecKiaDvCkMOYNxfDuS9CZi8Mw4ksKMKH'));
// 1553184596753itsdanger.TimestampSigner(secretKey[, salt, sep, digestMethod, algorithm])
secretKey{String} Secret to be usedsalt{String} (default is 'itsdangerjs.Signer')sep{String} (default is '.')digestMethod{String} Digest method for signing (default is 'sha512')algorithm{Function|Class} Algorithm to use for hashing (default is HMAC) - see signer.js for details
signer.sign(value)
value{String} The value to be signed
Returns signed string with timestamp
signer.unsign(signedValue[, maxAge, returnTimestamp])
signedValue{String} Signed valuemaxAge{Number} Max age time in millisecondsreturnTimestamp{Boolean} Return the timestamp used at creation (default is false)
Returns original value if signature is correct and age is less than maxAge (if defined)
URLSafeSerializer
const itsdanger = require('itsdangerjs');
const serializer = new itsdanger.URLSafeSerializer('my-secret');
console.log(serializer.dumps('test'));
// 'dGVzdA.TsKHw5E3w4fDh8O1w7PCv8Oxw4pYUDfDpcKfw5vDqABsMMK1EsOsw6MFWcOUwrbClcKYPCl7D1cNeTRtw48mwrDDuzzCuwvDkzIJHcKlC8OgJsK_H8OOw4bCoMOawofDvTU'
console.log(serializer.loads('dGVzdA.TsKHw5E3w4fDh8O1w7PCv8Oxw4pYUDfDpcKfw5vDqABsMMK1EsOsw6MFWcOUwrbClcKYPCl7D1cNeTRtw48mwrDDuzzCuwvDkzIJHcKlC8OgJsK_H8OOw4bCoMOawofDvTU'));
// 'test'itsdanger.URLSafeSerializer(secretKey[, salt, serializer, signer])
secretKey{String} Secret to be usedsalt{String} (default is 'itsdangerjs')serializer{Function|Class} A function or class that exposes bothloadsanddumpsmethods(default isitsdanger.json.Json) - see json.js for detailssigner{Function|Class} A fuction or class that will be used to sign values (default isitsdanger.Signer) - see signer.js for details
serializer.dumps(obj[, salt])
obj{String|Object} The value to be signed and serializedsalt{String} (default is inherited from the constructor)
Returns signed and serialized object
serializer.loads(s[, salt])
s{String} Signed and Serialized value to unsign and deserializersalt{String} (default is inherited from the constructor)
Returns original object if signature is correct
URLSafeTimedSerializer
const itsdanger = require('itsdangerjs');
const serializer = new itsdanger.URLSafeTimedSerializer('my-secret');
console.log(serializer.dumps('test'));
// 'dGVzdA.AWmhGTQv.w6MERcO6CDvCqcKBwr0eMMKGNF7Ci8OPwpVVwpPCisKdw7ZKacOZGcORH8OLw7xzMMOwwrJdLcOhTRpnw7PDv2DDtMOSwpVUCDdbH8OqwqfDozDDh8KXPTTCvGFlwop1'
console.log(serializer.loads('dGVzdA.AWmhGTQv.w6MERcO6CDvCqcKBwr0eMMKGNF7Ci8OPwpVVwpPCisKdw7ZKacOZGcORH8OLw7xzMMOwwrJdLcOhTRpnw7PDv2DDtMOSwpVUCDdbH8OqwqfDozDDh8KXPTTCvGFlwop1'));
// 'test'
console.log(serializer.loads('dGVzdA.AWmhGTQv.w6MERcO6CDvCqcKBwr0eMMKGNF7Ci8OPwpVVwpPCisKdw7ZKacOZGcORH8OLw7xzMMOwwrJdLcOhTRpnw7PDv2DDtMOSwpVUCDdbH8OqwqfDozDDh8KXPTTCvGFlwop1', null, true)
[ 'test', 2019-04-05T15:56:57.391Z ])itsdanger.URLSafeTimedSerializer(secretKey[, salt, serializer, signer])
secretKey{String} Secret to be usedsalt{String} (default is 'itsdangerjs')serializer{Function|Class} A function or class that exposes bothloadsanddumpsmethods(default isitsdanger.json.Json) - see json.js for detailssigner{Function|Class} A fuction or class that will be used to sign values (default isitsdanger.TimestampSigner) - see timed.js for details
serializer.dumps(obj[, salt])
obj{String|Object} The value to be signed and serializedsalt{String} (default is inherited from the constructor)
Returns signed and serialized object
serializer.loads(s[, maxAge, returnTimestamp, salt])
s{String} Signed and Serialized value to unsign and deserializermaxAge{Number} Max age time in millisecondsreturnTimestamp{Boolean} Return the timestamp used at creation (default is false)salt{String} (default is inherited from the constructor)
Returns original object if signature is correct
