import { requestJson } from "../clients/endpointClient"; import { ACCESS_TOKEN_ENDPOINT, TENANT_ID } from "./env"; import { consoleLogger } from "./logger"; const cache = {}; const tokenBody = "grant_type=" + process.env.GRANT_TYPE + "&client_id=" + process.env.CLIENT_ID + "&client_secret=" + process.env.CLIENT_SECRET + "&scope=" + "https://" + process.env.RELAYURI + "/.default"; const tokenConfig = { headers: { "Content-Type": "application/x-www-form-urlencoded", "Cache-Control": "no-cache" } }; export const getToken = async () => { try { const data = await requestJson({ method: "post", url: `${ACCESS_TOKEN_ENDPOINT}${TENANT_ID}/oauth2/v2.0/token`, data: tokenBody, ...tokenConfig }); cache.tokenResponse = data; return data; } catch (error) { consoleLogger(error); return error; } };