mongo = require("./mongoHelp") config = require("./config.js") crypto = require('crypto') jwt = require('jsonwebtoken') accessTokenSecret = config.secret; function login(username, password) { return new Promise((resolve, reject) => { mongo.get(config.database, "users", {"username":username}).then(userArr => { hashedStr = crypto.createHmac('sha256', config.secret).update(password).digest('hex') if (userArr.length != 1){ //No user is registered to that address reject("Error") } else if (hashedStr != userArr[0].password){ // Password Doesn't Match reject("Error") } else { const accessToken = jwt.sign({ username: userArr[0].username, }, config.jwtSecret, { expiresIn: '7d' }) resolve(accessToken) } }) }) } module.exports = login