lhdn_api_simulation/authorization/controllers/authorization.controller.js

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});
}
};