Files
dyrevelfaerd-api/controllers/token.controller.js
Brian Emilius a60a37f441 initial commit
2020-05-17 22:00:53 +02:00

32 lines
687 B
JavaScript

var { User } = require("../models/models");
var { compareSync } = require("bcryptjs");
var { sign } = require("jsonwebtoken");
async function createToken(req, res, next) {
try {
let user = await User.findOne({ where: { username: req.fields.username } });
if (!user) return res.status(401).end();
if (!compareSync(req.fields.password, user.password))
return res.status(401).end();
let token = sign({
data: user
}, process.env.JWT_SECRET, { expiresIn: "1h" });
res.json({
userId: user.id,
token,
validUntil: Date.now() + (60*60*1000)
});
} catch (error) {
console.error(error);
res.status(500).end();
}
}
module.exports = {
createToken
};