initial commit
This commit is contained in:
31
controllers/token.controller.js
Normal file
31
controllers/token.controller.js
Normal file
@@ -0,0 +1,31 @@
|
||||
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
|
||||
};
|
||||
Reference in New Issue
Block a user