Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

const express = require('express');
const router = express.Router();
const rest = require('../../rest/rest');
const fs = require('fs');
const path = require('path');
const jwt = require('jsonwebtoken');
const RSA_PRIVATE_KEY = fs.readFileSync(
path.join(__dirname, '/../../../../keys/private.key'),
'utf8'
);

const LOGDBG = false; // log detailed debug messages
function logdbg(...args) { LOGDBG && console.log('Debug ', ...args); }

const LOGINF = false; // log interesting information messages
function loginf(...args) { LOGINF && console.log('Info ', ...args); }

const LOGERR = true; // log critical error messages
function logerr(...args) { LOGERR && console.log('Error ', ...args); }

router.get('/userRoles/:userName', (req, res) => {
const userName = encodeURIComponent(req.params.userName);
rest
.getResource(
`${process.env.END_POINT_BASE_URI}${process.env.GET_ROLES}?userName=` +
userName
)
.then(data => {
if (data.responseBody.errorCode) {
logerr('/userRoles/:userName data.responseBody=', JSON.stringify(data.responseBody));
return res.status(401).json(data.responseBody.message);
}
const ssoUserName = data.responseBody['userName'];
const jwtBearerToken = jwt.sign({
userInfo: data.responseBody
},
RSA_PRIVATE_KEY, {
algorithm: 'RS256',
// expiresIn: 28800,
expiresIn: 28800,
subject: ssoUserName
}
);
data.responseBody.jwt = jwtBearerToken;
res.cookie('JWT', jwtBearerToken, {
httpOnly: true,
secure: false
});
// console.log('jwtBearerToken ', jwtBearerToken);
res.status(200).json(data.responseBody);
})
.catch(error => {
logerr('/userRoles/:userName ', error);
});
});

router.get('/login', (req, res) => {
// res.status(400).json({ errorCode: 'myerror', message: 'babooshka' });
rest
.getResource(
process.env.END_POINT_BASE_URI + process.env.GET_DROPDOWN_ROLES
)
.then(data => {
// console.log(JSON.stringify(data.responseBody));
// console.log(data.responseBody.data.toString('utf8'));
loginf('/login #users data.responseBody.length=', data.responseBody.length);
logdbg('/login data.responseBody=', data.responseBody.toString('utf8'));
if (data.responseBody.errorCode) {
return res
.status(data.response.statusCode)
.json(data.responseBody.message);
}
res.status(data.response.statusCode).json(data.responseBody);
})
.catch(error => {
logerr('', error);
});
});

module.exports = router;