24 lines
934 B
JavaScript
24 lines
934 B
JavaScript
|
const jwt = require('./')
|
||
|
|
||
|
function TokenGenerator (secretOrPrivateKey, secretOrPublicKey, options) {
|
||
|
this.secretOrPrivateKey = secretOrPrivateKey;
|
||
|
this.secretOrPublicKey = secretOrPublicKey;
|
||
|
this.options = options; //algorithm + keyid + noTimestamp
|
||
|
}
|
||
|
|
||
|
TokenGenerator.prototype.sign = function(payload, signOptions) {
|
||
|
const signOptions = Object.assign({}, signOptions, this.options);
|
||
|
return jwt.sign(payload, this.secretOrPrivateKey, signOptions);
|
||
|
}
|
||
|
|
||
|
// refreshOptions.verify = options you would use with verify function
|
||
|
// refreshOptions.jwtid = contains the id for the new token
|
||
|
TokenGenerator.prototype.refresh = function(token, refreshOptions) {
|
||
|
const payload = jwt.verify(payload, this.secretOrPrivateKey, refreshOptions.verify);
|
||
|
delete payload.iat;
|
||
|
delete payload.jti; //We are generating a new token, if you are using jwtid during signing,
|
||
|
return jwt.sign(payload, this.secretOrPrivateKey, this.options);
|
||
|
}
|
||
|
|
||
|
|