hacken
Version:
Hacken is a node module to help people in hackathons, it has almost all the common features a person needs from database operations to sockets. If you are the one who struglles with MongoDb ObjectId, hacken makes it easier to work with then too.
45 lines (41 loc) • 920 B
JavaScript
const jwt = require('jsonwebtoken');
var issueToken = (data,secret,time)=>{
if(!data || !secret || !time){
throw Error("Incomplete Details.");
}
return new Promise((resolve,reject)=>{
jwt.sign(data,secret,{expiresIn:time.toString()},function(err,token){
if(err){
reject(err);
}
resolve(token);
});
});
}
var verifyToken = (token,secret)=>{
if(!token || !secret){
throw Error("Incomplete Details.");
}
return new Promise((resolve,reject)=>{
jwt.verify(token,secret,function(err,data){
if(err){
reject(err);
}
resolve({msg:"Token Is Valid.",decoded:data});
});
});
}
var decodeToken = (token)=>{
if(!token){
throw Error("Incomplete Details.");
}
var decoded = jwt.decode(token,{complete:true});
return new Promise((resolve,reject)=>{
resolve(decoded);
});
}
module.exports = {
issueToken,
verifyToken,
decodeToken,
}