mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-12 07:04:52 +09:00
29 lines
858 B
JavaScript
29 lines
858 B
JavaScript
const jwt = require('jsonwebtoken');
|
|
|
|
// const config = require("./../config");
|
|
|
|
module.exports = function(config){
|
|
return {
|
|
middleware: function (req, res, next) {
|
|
var token = req.headers['x-access-token'];
|
|
if(!token) return res.status(401).send({ auth: false, message: 'No token provided.', endpoint: req.route.path});
|
|
|
|
jwt.verify(token, config.masterAuthSecret, function(err, decoded) {
|
|
if(err) return res.status(500).send({ auth: false, message: 'Failed to authenticate token.', endpoint: req.route.path});
|
|
next();
|
|
});
|
|
},
|
|
check: async function(token){
|
|
return new Promise((resolve, reject) => {
|
|
jwt.verify(token, config.masterAuthSecret, function(err, decoded) {
|
|
if(err){
|
|
resolve({ok:false, msg:err})
|
|
} else {
|
|
resolve({ok:true, msg:"Successfully authenticated"});
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
};
|