UNPKG

@sap-cloud-sdk/connectivity

Version:

SAP Cloud SDK for JavaScript connectivity

39 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.clearXsuaaServices = clearXsuaaServices; exports.getXsuaaInstanceFromServiceCredentials = getXsuaaInstanceFromServiceCredentials; const xssec_1 = require("@sap/xssec"); const xsuaaServices = {}; /** * @internal * Clears the cache of XSUAA services. * Should only be used for testing purposes. */ function clearXsuaaServices() { Object.keys(xsuaaServices).forEach(key => delete xsuaaServices[key]); } /** * @internal * @param credentials - Xsuaa credentials extracted from a re-use service like destination service. Required to create the xssec XSUAA instance. * @param disableCache - Value to enable or disable JWKS cache in xssec library. Defaults to false. * @returns An instance of {@link @sap/xssec/XsuaaService} for the provided credentials. */ function getXsuaaInstanceFromServiceCredentials(credentials, disableCache = false) { const serviceConfig = disableCache ? { validation: { jwks: { expirationTime: 0, refreshPeriod: 0 } } } : undefined; const cacheKey = `${credentials.clientid}:${disableCache}`; if (!xsuaaServices[cacheKey]) { // XsuaaService is a representation of XSUAA credentials extracted from a reuse service, e.g., destination xsuaaServices[cacheKey] = new xssec_1.XsuaaService(credentials, serviceConfig); } return xsuaaServices[cacheKey]; } //# sourceMappingURL=xsuaa.js.map