@kwiz/node 1.0.61 → 1.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/auth/key-vault.d.ts
CHANGED
|
@@ -20,4 +20,9 @@ type tCertificate = {
|
|
|
20
20
|
* by default it caches the result and reuses it, forceRefresh to bypass
|
|
21
21
|
*/
|
|
22
22
|
export declare function getLatestCertificate(certName: string, forceRefresh?: boolean): Promise<tCertificate>;
|
|
23
|
+
/**
|
|
24
|
+
* Fetches the latest enabled secret value from Azure Key Vault.
|
|
25
|
+
* By default it caches the result and reuses it, forceRefresh to bypass.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getLatestSecret(secretName: string, forceRefresh?: boolean): Promise<string>;
|
|
23
28
|
export {};
|
package/dist/auth/key-vault.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigureKeyVault = ConfigureKeyVault;
|
|
4
4
|
exports.getLatestCertificate = getLatestCertificate;
|
|
5
|
+
exports.getLatestSecret = getLatestSecret;
|
|
5
6
|
const identity_1 = require("@azure/identity");
|
|
6
7
|
const keyvault_secrets_1 = require("@azure/keyvault-secrets");
|
|
7
8
|
const common_1 = require("@kwiz/common");
|
|
@@ -90,6 +91,40 @@ async function getLatestCertificate(certName, forceRefresh = false) {
|
|
|
90
91
|
return null;
|
|
91
92
|
}
|
|
92
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Fetches the latest enabled secret value from Azure Key Vault.
|
|
96
|
+
* By default it caches the result and reuses it, forceRefresh to bypass.
|
|
97
|
+
*/
|
|
98
|
+
async function getLatestSecret(secretName, forceRefresh = false) {
|
|
99
|
+
try {
|
|
100
|
+
if ((0, common_1.isNullOrEmptyString)(keyVaultUrl)) {
|
|
101
|
+
console.error("Call ConfigureKeyVault first!");
|
|
102
|
+
throw Error("Call ConfigureKeyVault first!");
|
|
103
|
+
}
|
|
104
|
+
const res = await (0, common_1.promiseOnce)(`getLatestSecret(${secretName})`, async () => {
|
|
105
|
+
logger.log(`Fetching secret ${secretName}`);
|
|
106
|
+
const credential = new identity_1.DefaultAzureCredential();
|
|
107
|
+
const client = new keyvault_secrets_1.SecretClient(keyVaultUrl, credential);
|
|
108
|
+
const secret = await client.getSecret(secretName);
|
|
109
|
+
return { value: secret.value, fetched: new Date().getTime() };
|
|
110
|
+
}, async (res) => {
|
|
111
|
+
if (forceRefresh)
|
|
112
|
+
return false; //never valid... get a new one.
|
|
113
|
+
if (res?.fetched > 0) {
|
|
114
|
+
const valid = (0, common_1.shiftDate)("h24", new Date(res.fetched)).getTime() > new Date().getTime();
|
|
115
|
+
if (!valid)
|
|
116
|
+
logger.log(`${secretName} too stale`);
|
|
117
|
+
return valid;
|
|
118
|
+
}
|
|
119
|
+
return false;
|
|
120
|
+
});
|
|
121
|
+
return res.value;
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
logger.error(`Failed to fetch secret [${secretName}] from Key Vault: ${(0, common_1.GetError)(error)}`);
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
93
128
|
/** withBias :
|
|
94
129
|
* The certificate is valid only if:
|
|
95
130
|
* - It started at least 1 day before today (oneDayAgo >= notBefore)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-vault.js","sourceRoot":"","sources":["../../src/auth/key-vault.ts"],"names":[],"mappings":";;AAeA,8CAOC;AAaD,oDAmEC;
|
|
1
|
+
{"version":3,"file":"key-vault.js","sourceRoot":"","sources":["../../src/auth/key-vault.ts"],"names":[],"mappings":";;AAeA,8CAOC;AAaD,oDAmEC;AAUD,0CA8BC;AA9ID,8CAAyD;AACzD,8DAAuD;AACvD,yCAAkI;AAClI,oCAAoC;AAEpC,IAAI,MAAoB,CAAC;AACzB,IAAI,WAAW,GAAW,IAAI,CAAC;AAC/B,IAAI,IAAY,CAAC;AACjB;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAEjC;IACG,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC;IACzB,IAAI,GAAG,qBAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAe,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAe,CAAC,GAAG,CAAC;IAC7E,MAAM,GAAG,IAAI,qBAAY,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,GAAG,WAAW,qBAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/G,CAAC;AAQD;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,QAAgB,EAAE,YAAY,GAAG,KAAK;IAC7E,IAAI,CAAC;QACD,IAAI,IAAA,4BAAmB,EAAC,WAAW,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAW,EAAe,wBAAwB,QAAQ,GAAG,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,CAAC,GAAG,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,WAAW,CAAC;YAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,CAAC;gBACD,iGAAiG;gBACjG,yFAAyF;gBACzF,MAAM,UAAU,GAAG,IAAI,iCAAsB,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,IAAI,+BAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAEtD,kCAAkC;gBAClC,MAAM,iBAAiB,GAAU,EAAE,CAAC;gBACpC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvE,iCAAiC;oBACjC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;oBACD,qGAAqG;gBACzG,CAAC;gBACD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,IAAI,CAAC,CAAC;gBAC3E,CAAC;gBACD,0DAA0D;gBAC1D,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEhF,yBAAyB;gBACzB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjG,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,CAAC,KAAM,CAAC,CAAC;gBAC9D,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAC,oBAAoB;oBACnD,OAAO,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;gBAE7D,sBAAsB;gBACtB,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnG,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,KAAM,CAAC,CAAC;gBAElE,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;gBACxF,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,qBAAqB,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7F,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YACX,IAAI,YAAY;gBAAE,OAAO,KAAK,CAAC,CAAA,+BAA+B;YAE9D,IAAI,GAAG,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAC,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvF,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,YAAY,CAAC,CAAC;gBAChD,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAMD;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,YAAY,GAAG,KAAK;IAC1E,IAAI,CAAC;QACD,IAAI,IAAA,4BAAmB,EAAC,WAAW,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAW,EAAe,mBAAmB,UAAU,GAAG,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;YAE5C,MAAM,UAAU,GAAG,IAAI,iCAAsB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,+BAAY,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YACX,IAAI,YAAY;gBAAE,OAAO,KAAK,CAAC,CAAA,+BAA+B;YAE9D,IAAI,GAAG,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAC,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvF,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,YAAY,CAAC,CAAC;gBAClD,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC,KAAK,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,2BAA2B,UAAU,qBAAqB,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;;MAIM;AACN,SAAS,UAAU,CAAC,WAAmB,EAAE,QAAQ,GAAG,KAAK;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,kBAAS,EAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAExD,MAAM,YAAY,GAAG,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS;QAC5D,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAE9C,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAqB;IAC/C,IAAI,CAAC;QACD,yCAAyC;QACzC,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/D,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC7G,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAElE,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACtG,CAAC;QAED,6CAA6C;QAC7C,+CAA+C;QAC/C,6CAA6C;QAC7C,mEAAmE;QACnE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;QAErF,OAAO;YACH,UAAU;YACV,WAAW;YACX,UAAU;SACb,CAAC;IAEN,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
|
package/dist/auth/msal.js
CHANGED
|
@@ -14,7 +14,7 @@ var apps = {};
|
|
|
14
14
|
function createCachePlugin(handler) {
|
|
15
15
|
return {
|
|
16
16
|
async beforeCacheAccess(cacheContext) {
|
|
17
|
-
const cacheData = await handler.load();
|
|
17
|
+
const cacheData = await (0, common_1.promiseCatch)(() => handler.load(), null);
|
|
18
18
|
if (cacheData) {
|
|
19
19
|
cacheContext.tokenCache.deserialize(cacheData);
|
|
20
20
|
}
|
|
@@ -23,7 +23,7 @@ function createCachePlugin(handler) {
|
|
|
23
23
|
if (!cacheContext.cacheHasChanged) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
await handler.save(cacheContext.tokenCache.serialize());
|
|
26
|
+
const cacheData = await (0, common_1.promiseCatch)(() => handler.save(cacheContext.tokenCache.serialize()), null);
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
}
|
package/dist/auth/msal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msal.js","sourceRoot":"","sources":["../../src/auth/msal.ts"],"names":[],"mappings":";;AAuEA,oCAOC;AA6BD,4CAqDC;AAhKD,gDAAkG;AAClG,
|
|
1
|
+
{"version":3,"file":"msal.js","sourceRoot":"","sources":["../../src/auth/msal.ts"],"names":[],"mappings":"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"}
|