Repository URL to install this package:
|
Version:
9.0.35-framework ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const jsonwebtoken_1 = require("jsonwebtoken");
const log_1 = require("../../../log");
const endpoints_1 = require("../endpoints");
exports.default = {
Query: {
getKeyToken: async (obj, args, context, info) => {
const { alias, requestor } = args;
const params = {
alias,
requestor,
};
const response = await context.microservices.getKeyToken(params, undefined);
// @todo @Anto based on Params we need to get secretKey or service token in a single query
if (true) {
const secretKey = generateToken(response);
const additionalProps = {
secretKey,
};
const serviceToken = await generateServiceToken(obj, args, context, info, additionalProps);
return serviceToken;
}
else {
return response;
}
},
getServiceToken: async (obj, args, context, info) => {
const response = generateServiceToken(obj, args, context, info);
return response;
},
},
};
function generateServiceToken(obj, args, context, info, additionalProps = { secretKey: '' }) {
const { requestor } = args;
const { secretKey } = additionalProps;
const params = {
requestor,
secretKey,
};
const serviceTokenParams = getServiceTokenParams(params);
const serviceToken = context.microservices.getServiceToken(serviceTokenParams, undefined);
return serviceToken;
}
function getServiceTokenParams(params) {
// return toServiceTokenParams(formatServiceTokenParams(secretKey))
return endpoints_1.toServiceTokenParams(params);
}
function toTimes() {
// should move this to it's own function
let timeNow = new Date().getTime();
timeNow = Math.floor(timeNow / 1000);
const timeThen = 60 * 60 + timeNow;
return { then: timeThen, now: timeNow };
}
function toParams(times) {
// remember to use eslint
const claims = {
requestedServices: ['pim'],
aud: 'promotionadmin',
exp: times.then,
iat: times.now,
iss: 'SkavaAPIAdmin',
};
return claims;
}
function generateToken(secretKeyObj) {
// const signingKey = '4tmLIS0LtAiEI062y/wdBw=='
const signingKey = secretKeyObj.key || '';
if (!signingKey) {
log_1.logger.log('generateToken sign-in key is missing', signingKey);
}
const times = toTimes();
const claims = toParams(times);
const bufferSigner = new Buffer(signingKey, 'base64');
const token = jsonwebtoken_1.sign(claims, bufferSigner, { algorithm: 'HS512' });
return token;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGhxbC1tb2R1bGVzL21pY3Jvc2VydmljZXMvcmVzb2x2ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBbUM7QUFDbkMsc0NBQXFDO0FBQ3JDLDRDQUFtRDtBQUVuRCxrQkFBZTtJQUNiLEtBQUssRUFBRTtRQUNMLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDOUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDakMsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsS0FBSztnQkFDTCxTQUFTO2FBQ1YsQ0FBQTtZQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQ3RELE1BQU0sRUFDTixTQUFTLENBQ1YsQ0FBQTtZQUVELDBGQUEwRjtZQUMxRixJQUFJLElBQUksRUFBRTtnQkFDUixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ3pDLE1BQU0sZUFBZSxHQUFHO29CQUN0QixTQUFTO2lCQUNWLENBQUE7Z0JBQ0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxvQkFBb0IsQ0FDN0MsR0FBRyxFQUNILElBQUksRUFDSixPQUFPLEVBQ1AsSUFBSSxFQUNKLGVBQWUsQ0FDaEIsQ0FBQTtnQkFDRCxPQUFPLFlBQVksQ0FBQTthQUNwQjtpQkFBTTtnQkFDTCxPQUFPLFFBQVEsQ0FBQTthQUNoQjtRQUNILENBQUM7UUFDRCxlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ2xELE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQy9ELE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7S0FDRjtDQUNGLENBQUE7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixHQUFHLEVBQ0gsSUFBSSxFQUNKLE9BQU8sRUFDUCxJQUFJLEVBQ0osZUFBZSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUVuQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFBO0lBQzFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUE7SUFDckMsTUFBTSxNQUFNLEdBQUc7UUFDYixTQUFTO1FBQ1QsU0FBUztLQUNWLENBQUE7SUFDRCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUN4RCxrQkFBa0IsRUFDbEIsU0FBUyxDQUNWLENBQUE7SUFDRCxPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxNQUFNO0lBQ25DLG1FQUFtRTtJQUNuRSxPQUFPLGdDQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ3JDLENBQUM7QUFFRCxTQUFTLE9BQU87SUFDZCx3Q0FBd0M7SUFDeEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDcEMsTUFBTSxRQUFRLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFFbEMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3pDLENBQUM7QUFDRCxTQUFTLFFBQVEsQ0FBQyxLQUFLO0lBQ3JCLHlCQUF5QjtJQUN6QixNQUFNLE1BQU0sR0FBRztRQUNiLGlCQUFpQixFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzFCLEdBQUcsRUFBRSxnQkFBZ0I7UUFDckIsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2YsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1FBQ2QsR0FBRyxFQUFFLGVBQWU7S0FDckIsQ0FBQTtJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFlBQVk7SUFDakMsZ0RBQWdEO0lBQ2hELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFBO0lBRXpDLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixZQUFNLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0tBQy9EO0lBRUQsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUE7SUFDdkIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNyRCxNQUFNLEtBQUssR0FBRyxtQkFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUVoRSxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMifQ==