refactor phase 4 hardening helpers and redacted logging

This commit is contained in:
2026-03-12 09:03:24 +00:00
parent aeec5e0f59
commit a0ae6fcba3
6 changed files with 92 additions and 18 deletions
+13 -4
View File
@@ -19,7 +19,12 @@ import axios from "axios";
import CryptoJS from "crypto-js";
import _ from "lodash";
import { azureHeaders } from "../../../actions/core/headers";
import { consoleLogger } from "../../../actions/core/logger";
import {
escapeODataString,
isNonEmptyString,
sanitizeString
} from "../../../actions/core/guards";
import { consoleLogger, redactSensitive } from "../../../actions/core/logger";
import { getToken } from "../../../actions/core/token";
const WORDKEY = process.env.HASHKEY;
@@ -38,15 +43,19 @@ const hashAPIPath = (queryPath) => {
};
export default async function ApiProxy(req, res) {
var emailAddress = req.query.emailAddress;
var emailAddress = sanitizeString(req.query.emailAddress);
var token = await getToken();
if (!isNonEmptyString(emailAddress)) {
return res.status(400).json({ error: "emailAddress is required" });
}
var queryUrl =
"contacts?$filter=emailaddress1 eq '" +
emailAddress +
escapeODataString(emailAddress) +
"'&$count=true&$select=pinswg_preferredlanguage,contactid";
console.log(queryUrl);
console.log(redactSensitive(queryUrl));
// var queryUrl = "contacts/?$count=true&$select=emailaddress1, contactid";
var apiResponse = _.isEmpty(req.query)