@kwiz/node 1.0.59 → 1.0.61

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.
@@ -5,7 +5,7 @@ exports.getLatestCertificate = getLatestCertificate;
5
5
  const identity_1 = require("@azure/identity");
6
6
  const keyvault_secrets_1 = require("@azure/keyvault-secrets");
7
7
  const common_1 = require("@kwiz/common");
8
- const node_forge_1 = require("node-forge");
8
+ const forge = require("node-forge");
9
9
  var logger;
10
10
  var keyVaultUrl = null;
11
11
  var bias;
@@ -96,7 +96,7 @@ async function getLatestCertificate(certName, forceRefresh = false) {
96
96
  * - There is at least 1 more day before it expires (oneDayFromNow <= notAfter)
97
97
  * */
98
98
  function stillValid(certificate, withBias = false) {
99
- const prevCertObj = node_forge_1.default.pki.certificateFromPem(certificate);
99
+ const prevCertObj = forge.pki.certificateFromPem(certificate);
100
100
  const now = new Date();
101
101
  const notAfter = withBias ? (0, common_1.shiftDate)(bias) : now;
102
102
  const notBefore = withBias ? (0, common_1.shiftDate)(bias * -1) : now;
@@ -119,9 +119,9 @@ function splitPfxToPemStrings(fullPemString) {
119
119
  // ⚡ COMPUTE THE THUMBPRINT (Required for MSAL)
120
120
  // ==========================================
121
121
  // MSAL needs the unique SHA-1 thumbprint of the public certificate
122
- const cert = node_forge_1.default.pki.certificateFromPem(certificate);
123
- const der = node_forge_1.default.asn1.toDer(node_forge_1.default.pki.certificateToAsn1(cert)).getBytes();
124
- const thumbprint = node_forge_1.default.md.sha1.create().update(der).digest().toHex().toUpperCase();
122
+ const cert = forge.pki.certificateFromPem(certificate);
123
+ const der = forge.asn1.toDer(forge.pki.certificateToAsn1(cert)).getBytes();
124
+ const thumbprint = forge.md.sha1.create().update(der).digest().toHex().toUpperCase();
125
125
  return {
126
126
  privateKey,
127
127
  certificate,
@@ -1 +1 @@
1
- {"version":3,"file":"key-vault.js","sourceRoot":"","sources":["../../src/auth/key-vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-vault.js","sourceRoot":"","sources":["../../src/auth/key-vault.ts"],"names":[],"mappings":";;AAeA,8CAOC;AAaD,oDAmEC;AAtGD,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;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"}
@@ -1,6 +1,16 @@
1
1
  import { AuthContextType, ITenantInfo } from "@kwiz/common";
2
+ declare global {
3
+ var __kwizMsalTokenCache: Record<string, string> | undefined;
4
+ }
5
+ export type msalCacheHandler = {
6
+ load: () => Promise<string>;
7
+ save: (value: string) => Promise<void>;
8
+ };
2
9
  /** Get app-only token. client secret not supported by SharePoint, must use certificate */
3
- export declare function GetMSALToken(tenantInfo: ITenantInfo, scope: string, auth: AuthContextType, clearCache?: boolean): Promise<string>;
10
+ export declare function GetMSALToken(tenantInfo: ITenantInfo, scope: string, auth: AuthContextType, options?: {
11
+ cache?: msalCacheHandler;
12
+ clearCache?: boolean;
13
+ } | boolean): Promise<string>;
4
14
  export interface iUserTokenAccountInfo {
5
15
  homeAccountId: string;
6
16
  environment: string;
@@ -21,11 +31,16 @@ export interface iUserTokenRequestInfo {
21
31
  state?: string;
22
32
  /** redeem a code from redirect */
23
33
  code?: string;
34
+ /** request a new token silently for account from cache - keep somewhere safe or encrypt */
35
+ account?: iUserTokenAccountInfo;
24
36
  }
25
37
  /** Get user token.
26
38
  * if code or account proivded will attempt to get a token, otherwise will redirect the user
27
39
  * client secret not supported by SharePoint, must use certificate */
28
- export declare function GetMSALUserToken(tenantInfo: ITenantInfo, auth: AuthContextType, info: iUserTokenRequestInfo, clearCache?: boolean): Promise<{
40
+ export declare function GetMSALUserToken(tenantInfo: ITenantInfo, auth: AuthContextType, info: iUserTokenRequestInfo, options?: {
41
+ cache?: msalCacheHandler;
42
+ clearCache?: boolean;
43
+ } | boolean): Promise<{
29
44
  success: true;
30
45
  accessToken: string;
31
46
  account: iUserTokenAccountInfo;
package/dist/auth/msal.js CHANGED
@@ -4,8 +4,6 @@ exports.GetMSALToken = GetMSALToken;
4
4
  exports.GetMSALUserToken = GetMSALUserToken;
5
5
  const msal_node_1 = require("@azure/msal-node");
6
6
  const common_1 = require("@kwiz/common");
7
- //find tenant id? https://login.microsoftonline.com/kwizcom.onmicrosoft.com/.well-known/openid-configuration
8
- //https://stackoverflow.com/questions/54771270/msal-ad-token-not-valid-with-sharepoint-online-csom
9
7
  var _logger;
10
8
  function logger() {
11
9
  if (!_logger)
@@ -13,7 +11,23 @@ function logger() {
13
11
  return _logger;
14
12
  }
15
13
  var apps = {};
16
- function GetApp(tenantInfo, auth) {
14
+ function createCachePlugin(handler) {
15
+ return {
16
+ async beforeCacheAccess(cacheContext) {
17
+ const cacheData = await handler.load();
18
+ if (cacheData) {
19
+ cacheContext.tokenCache.deserialize(cacheData);
20
+ }
21
+ },
22
+ async afterCacheAccess(cacheContext) {
23
+ if (!cacheContext.cacheHasChanged) {
24
+ return;
25
+ }
26
+ await handler.save(cacheContext.tokenCache.serialize());
27
+ }
28
+ };
29
+ }
30
+ function GetApp(tenantInfo, auth, options) {
17
31
  let key = `${tenantInfo.idOrName}|${auth.authenticationMode}|${auth.clientId}`;
18
32
  if (!apps[key]) {
19
33
  auth.authenticationMode === common_1.AuthenticationModes.clientSecret
@@ -23,6 +37,7 @@ function GetApp(tenantInfo, auth) {
23
37
  authority: tenantInfo.authorityUrl,
24
38
  clientSecret: auth.clientSecret
25
39
  },
40
+ cache: options?.cache ? { cachePlugin: createCachePlugin(options.cache) } : undefined
26
41
  })
27
42
  : apps[key] = new msal_node_1.ConfidentialClientApplication({
28
43
  auth: {
@@ -33,15 +48,17 @@ function GetApp(tenantInfo, auth) {
33
48
  privateKey: auth.privateKey
34
49
  }
35
50
  },
51
+ cache: options?.cache ? { cachePlugin: createCachePlugin(options.cache) } : undefined
36
52
  });
37
53
  }
54
+ if (options?.clearCache)
55
+ apps[key].clearCache();
38
56
  return apps[key];
39
57
  }
40
58
  /** Get app-only token. client secret not supported by SharePoint, must use certificate */
41
- async function GetMSALToken(tenantInfo, scope, auth, clearCache) {
42
- const app = GetApp(tenantInfo, auth);
43
- if (clearCache)
44
- app.clearCache();
59
+ async function GetMSALToken(tenantInfo, scope, auth, options = {}) {
60
+ options = (0, common_1.isBoolean)(options) ? { clearCache: options } : options;
61
+ const app = GetApp(tenantInfo, auth, options);
45
62
  let token = await app.acquireTokenByClientCredential({
46
63
  scopes: [`${scope}/.default`]
47
64
  });
@@ -50,11 +67,28 @@ async function GetMSALToken(tenantInfo, scope, auth, clearCache) {
50
67
  /** Get user token.
51
68
  * if code or account proivded will attempt to get a token, otherwise will redirect the user
52
69
  * client secret not supported by SharePoint, must use certificate */
53
- async function GetMSALUserToken(tenantInfo, auth, info, clearCache) {
54
- const app = GetApp(tenantInfo, auth);
55
- if (clearCache)
56
- app.clearCache();
70
+ async function GetMSALUserToken(tenantInfo, auth, info, options = {}) {
71
+ options = (0, common_1.isBoolean)(options) ? { clearCache: options } : options;
72
+ const app = GetApp(tenantInfo, auth, options);
57
73
  let error;
74
+ if (info.account) {
75
+ try {
76
+ const result = await app.acquireTokenSilent({
77
+ account: info.account,
78
+ scopes: [`${info.scope}/.default`],
79
+ redirectUri: info.redirectUri
80
+ });
81
+ return {
82
+ success: true,
83
+ accessToken: result.accessToken,
84
+ account: result.account
85
+ };
86
+ }
87
+ catch (e) {
88
+ // logger().error(e);
89
+ // error = `Could not get from cache: ${GetError(e)}`;
90
+ }
91
+ }
58
92
  if (info.code) {
59
93
  try {
60
94
  const result = await app.acquireTokenByCode({
@@ -1 +1 @@
1
- {"version":3,"file":"msal.js","sourceRoot":"","sources":["../../src/auth/msal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"msal.js","sourceRoot":"","sources":["../../src/auth/msal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kwiz/node",
3
- "version": "1.0.59",
3
+ "version": "1.0.61",
4
4
  "description": "KWIZ utilities and helpers for node applications",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -81,7 +81,7 @@
81
81
  "@azure/msal-node": "^2.6.4",
82
82
  "@azure/storage-blob": "^12.31.0",
83
83
  "@jsforce/jsforce-node": "^3.10.14",
84
- "@kwiz/common": "^1.0.238",
84
+ "@kwiz/common": "^1.0.242",
85
85
  "axios": "^1.6.7",
86
86
  "esbuild": "^0.19.12",
87
87
  "get-tsconfig": "^4.7.2",