From 15d2aafc81832b46d7850602adef388c0ad15da3 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <adhisimon@gmail.com> Date: Mon, 14 Nov 2022 15:03:50 +0700 Subject: [PATCH] Callback apikey debug --- lib/callback/apikey-checker.js | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/lib/callback/apikey-checker.js b/lib/callback/apikey-checker.js index 07938c3..2398724 100644 --- a/lib/callback/apikey-checker.js +++ b/lib/callback/apikey-checker.js @@ -3,6 +3,8 @@ const MODULE_NAME = 'CALLBACK.APIKEY-CHECKER'; const config = require('komodo-sdk/config'); const logger = require('tektrans-logger'); +const { DEBUG_CALLBACK_APIKEY } = process.env; + const sendInvalidApikeyResponse = (xid, res) => { res.status(403).json({ status: 'NOT-OK', @@ -17,19 +19,38 @@ if (!config.partner.callback.apikey) { } module.exports = (req, res, next) => { + const { xid } = res.locals; + const apikeyFromRequest = req.params.apikey; + if (!config.partner || !config.partner.callback || !config.partner.callback.apikey) { + if (DEBUG_CALLBACK_APIKEY) { + logger.verbose(`${MODULE_NAME} 8BE57EB4: Skip APIKEY checker on no config`, { + xid, + }); + } next(); return; } - const { xid } = res.locals; - const apikeyFromRequest = req.params.apikey; + if (DEBUG_CALLBACK_APIKEY) { + logger.verbose(`${MODULE_NAME} 1A634029: Checking for apikey validity`, { + xid, + apikeyFromRequest, + }); + } if ( typeof config.partner.callback.apikey === 'object' && Array.isArray(config.partner.callback.apikey) && config.partner.callback.apikey.indexOf(apikeyFromRequest) >= 0 ) { + if (DEBUG_CALLBACK_APIKEY) { + logger.verbose(`${MODULE_NAME} 4BC7B45D: Apikey match with one of array element`, { + xid, + apikeyFromRequest, + }); + } + next(); return; } @@ -38,6 +59,12 @@ module.exports = (req, res, next) => { typeof config.partner.callback.apikey === 'string' && config.partner.callback.apikey === apikeyFromRequest ) { + if (DEBUG_CALLBACK_APIKEY) { + logger.verbose(`${MODULE_NAME} FC80DC85: Apikey match with string config`, { + xid, + apikeyFromRequest, + }); + } next(); return; } -- 1.9.0