33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
const jwtSecret = require('../../common/config/env.config.js').jwt_secret,
|
|
jwt = require('jsonwebtoken');
|
|
const crypto = require('crypto');
|
|
const uuid = require('uuid');
|
|
|
|
exports.login = (req, res) => {
|
|
try {
|
|
let refreshId = req.body.userId + jwtSecret;
|
|
let salt = crypto.randomBytes(16).toString('base64');
|
|
let hash = crypto.createHmac('sha512', salt).update(refreshId).digest("base64");
|
|
req.body.refreshKey = salt;
|
|
let name= req.body.name;
|
|
let token = jwt.sign(req.body, jwtSecret);
|
|
let b = new Buffer.from(hash);
|
|
let refresh_token = b.toString('base64');
|
|
|
|
res.status(201).send({accessToken: token, refreshToken: refresh_token,name:name});
|
|
} catch (err) {
|
|
|
|
res.status(500).send({errors: err});
|
|
}
|
|
};
|
|
|
|
exports.refresh_token = (req, res) => {
|
|
try {
|
|
req.body = req.jwt;
|
|
let token = jwt.sign(req.body, jwtSecret);
|
|
res.status(201).send({id: token});
|
|
} catch (err) {
|
|
res.status(500).send({errors: err});
|
|
}
|
|
};
|