@kwiz/node 1.0.5 → 1.0.6
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/SPO/common.js +20 -9
- package/dist/SPO/common.js.map +1 -1
- package/dist/auth/discovery.js +12 -3
- package/dist/auth/discovery.js.map +1 -1
- package/dist/auth/msal.js +15 -4
- package/dist/auth/msal.js.map +1 -1
- package/package.json +3 -4
- package/src/spo/common.ts +4 -4
package/dist/SPO/common.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.getAxiosConfigSharePoint = exports.ConfigureSPOAuth = void 0;
|
|
4
13
|
const common_1 = require("@kwiz/common");
|
|
@@ -9,15 +18,17 @@ function ConfigureSPOAuth(config) {
|
|
|
9
18
|
auth = config;
|
|
10
19
|
}
|
|
11
20
|
exports.ConfigureSPOAuth = ConfigureSPOAuth;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
function getAxiosConfigSharePoint(tenantInfo, hostName) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
if ((0, common_1.isNullOrUndefined)(auth))
|
|
24
|
+
throw Error("Call ConfigureSPOAuth first");
|
|
25
|
+
// only certificate supported
|
|
26
|
+
// DisableCustomAppAuthentication property, that disable this kind of auth., however it can be overriden using this command:
|
|
27
|
+
// Set-SPOTenant -DisableCustomAppAuthentication $false
|
|
28
|
+
let token = yield (0, msal_1.GetMSALToken)(tenantInfo, (0, common_1.GetMSALSiteScope)(hostName), auth);
|
|
29
|
+
let config = (0, axios_1.getAxiosConfigBearer)(token, { contantType: "application/json; odata=nometadata" });
|
|
30
|
+
return config;
|
|
31
|
+
});
|
|
21
32
|
}
|
|
22
33
|
exports.getAxiosConfigSharePoint = getAxiosConfigSharePoint;
|
|
23
34
|
//# sourceMappingURL=common.js.map
|
package/dist/SPO/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/spo/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/spo/common.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAiG;AACjG,uCAA4C;AAC5C,oCAAgD;AAEhD,IAAI,IAAI,GAAoB,IAAI,CAAC;AACjC,SAAgB,gBAAgB,CAAC,MAAwB;IACrD,IAAI,GAAG,MAAM,CAAC;AAClB,CAAC;AAFD,4CAEC;AACD,SAAsB,wBAAwB,CAAC,UAAuB,EAAE,QAAgB;;QACpF,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC;YAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACxE,6BAA6B;QAC7B,4HAA4H;QAC5H,uDAAuD;QACvD,IAAI,KAAK,GAAG,MAAM,IAAA,mBAAY,EAAC,UAAU,EAAE,IAAA,yBAAgB,EAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7E,IAAI,MAAM,GAAG,IAAA,4BAAoB,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC,CAAC;QAChG,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AARD,4DAQC"}
|
package/dist/auth/discovery.js
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.DiscoverTenantInfo = void 0;
|
|
4
13
|
const common_1 = require("@kwiz/common");
|
|
5
14
|
const axios_1 = require("axios");
|
|
6
15
|
function DiscoverTenantInfo(hostName) {
|
|
7
16
|
hostName = hostName.toLowerCase();
|
|
8
|
-
return (0, common_1.promiseOnce)(`DiscoverTenantInfo|${hostName}`,
|
|
17
|
+
return (0, common_1.promiseOnce)(`DiscoverTenantInfo|${hostName}`, () => __awaiter(this, void 0, void 0, function* () {
|
|
9
18
|
let data = {
|
|
10
19
|
environment: common_1.$AzureEnvironment.Production,
|
|
11
20
|
idOrName: null,
|
|
@@ -25,7 +34,7 @@ function DiscoverTenantInfo(hostName) {
|
|
|
25
34
|
}
|
|
26
35
|
else
|
|
27
36
|
friendlyName = hostName; //could be an exchange email domain, or bpos customer
|
|
28
|
-
let config =
|
|
37
|
+
let config = yield axios_1.default.get(`https://login.microsoftonline.com/${friendlyName}/v2.0/.well-known/openid-configuration`);
|
|
29
38
|
let endpoint = config.data.token_endpoint; //https://xxxx/{tenant}/....
|
|
30
39
|
tenantId = endpoint.replace("//", "/").split('/')[2]; //replace :// with :/ split by / and take the second part.
|
|
31
40
|
let instance = config.data.cloud_instance_name; //microsoftonline.us
|
|
@@ -39,7 +48,7 @@ function DiscoverTenantInfo(hostName) {
|
|
|
39
48
|
}
|
|
40
49
|
catch (e) { }
|
|
41
50
|
return data;
|
|
42
|
-
});
|
|
51
|
+
}));
|
|
43
52
|
}
|
|
44
53
|
exports.DiscoverTenantInfo = DiscoverTenantInfo;
|
|
45
54
|
//# sourceMappingURL=discovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/auth/discovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/auth/discovery.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAqK;AACrK,iCAA0B;AAE1B,SAAgB,kBAAkB,CAAC,QAAgB;IAC/C,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,IAAA,oBAAW,EAAC,sBAAsB,QAAQ,EAAE,EAAE,GAAS,EAAE;QAC5D,IAAI,IAAI,GAAgB;YACpB,WAAW,EAAE,0BAAiB,CAAC,UAAU;YACzC,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK;SACf,CAAC;QAEF,IAAI,QAAQ,GAAW,IAAI,CAAC;QAC5B,IAAI,YAAY,GAAW,IAAI,CAAC;QAEhC,IAAI,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,mDAAmD;gBACvF,IAAI,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAClJ,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3G,YAAY,GAAG,GAAG,aAAa,gBAAgB,YAAY,EAAE,CAAC;YAClE,CAAC;;gBACI,YAAY,GAAG,QAAQ,CAAC,CAAA,qDAAqD;YAElF,IAAI,MAAM,GAAG,MAAM,eAAK,CAAC,GAAG,CAezB,qCAAqC,YAAY,wCAAwC,CAAC,CAAC;YAE9F,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA,4BAA4B;YACtE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,0DAA0D;YAC/G,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA,oBAAoB;YAEnE,IAAI,CAAC,WAAW,GAAG,IAAA,sCAA6B,EAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAA,4BAAmB,EAAC,QAAQ,CAAC,IAAI,IAAA,oBAAW,EAAC,QAAQ,CAAC;gBACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;;gBAEzB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;YAEjC,IAAI,CAAC,YAAY,GAAG,GAAG,IAAA,gCAAuB,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAEb,OAAO,IAAI,CAAC;IAChB,CAAC,CAAA,CAAC,CAAC;AACP,CAAC;AAzDD,gDAyDC"}
|
package/dist/auth/msal.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.GetMSALToken = void 0;
|
|
4
13
|
const msal_node_1 = require("@azure/msal-node");
|
|
@@ -30,11 +39,13 @@ function GetApp(tenantInfo, auth) {
|
|
|
30
39
|
return apps[key];
|
|
31
40
|
}
|
|
32
41
|
/** client secret not supported by SharePoint, must use certificate */
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
42
|
+
function GetMSALToken(tenantInfo, scope, auth) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
let token = yield GetApp(tenantInfo, auth).acquireTokenByClientCredential({
|
|
45
|
+
scopes: [`${scope}/.default`]
|
|
46
|
+
});
|
|
47
|
+
return token.accessToken;
|
|
36
48
|
});
|
|
37
|
-
return token.accessToken;
|
|
38
49
|
}
|
|
39
50
|
exports.GetMSALToken = GetMSALToken;
|
|
40
51
|
//# sourceMappingURL=msal.js.map
|
package/dist/auth/msal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msal.js","sourceRoot":"","sources":["../../src/auth/msal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"msal.js","sourceRoot":"","sources":["../../src/auth/msal.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAiE;AAEjE,4GAA4G;AAC5G,kGAAkG;AAElG,IAAI,IAAI,GAAwD,EAAE,CAAC;AAEnE,SAAS,MAAM,CAAC,UAAuB,EAAE,IAAqB;IAC1D,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,CAAC,kBAAkB,oDAAqC;YACxD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,yCAA6B,CAAC;gBAC5C,IAAI,EAAE;oBACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,UAAU,CAAC,YAAY;oBAClC,YAAY,EAAE,IAAI,CAAC,YAAY;iBAClC;aAEJ,CAAC;YACF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,yCAA6B,CAAC;gBAC5C,IAAI,EAAE;oBACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,UAAU,CAAC,YAAY;oBAClC,iBAAiB,EAAE;wBACf,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC9B;iBACJ;aAEJ,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,sEAAsE;AACtE,SAAsB,YAAY,CAAC,UAAuB,EAAE,KAAa,EAAE,IAAqB;;QAC5F,IAAI,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,8BAA8B,CAAC;YACtE,MAAM,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC;SAChC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,WAAW,CAAC;IAC7B,CAAC;CAAA;AALD,oCAKC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kwiz/node",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "KWIZ utilities and helpers for node applications",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
5
|
"module": "dist/index.js",
|
|
7
6
|
"types": "dist/index.d.ts",
|
|
8
7
|
"exports": {
|
|
@@ -56,14 +55,14 @@
|
|
|
56
55
|
},
|
|
57
56
|
"packageManager": "npm@9.5.1",
|
|
58
57
|
"devDependencies": {
|
|
59
|
-
"@types/node": "^
|
|
58
|
+
"@types/node": "^18.19.21",
|
|
60
59
|
"madge": "^6.1.0",
|
|
61
60
|
"tsx": "^4.7.1",
|
|
62
61
|
"typescript": "^5.3.3"
|
|
63
62
|
},
|
|
64
63
|
"dependencies": {
|
|
65
64
|
"@azure/msal-node": "^2.6.4",
|
|
66
|
-
"@kwiz/common": "^1.0.
|
|
65
|
+
"@kwiz/common": "^1.0.10",
|
|
67
66
|
"axios": "^1.6.7",
|
|
68
67
|
"esbuild": "^0.19.12",
|
|
69
68
|
"get-tsconfig": "^4.7.2",
|
package/src/spo/common.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { GetMSALSiteScope, isNullOrUndefined } from "@kwiz/common";
|
|
1
|
+
import { AuthContextType, GetMSALSiteScope, ITenantInfo, isNullOrUndefined } from "@kwiz/common";
|
|
2
2
|
import { GetMSALToken } from "../auth/msal";
|
|
3
3
|
import { getAxiosConfigBearer } from "../axios";
|
|
4
4
|
|
|
5
|
-
var auth:
|
|
6
|
-
export function ConfigureSPOAuth(config?:
|
|
5
|
+
var auth: AuthContextType = null;
|
|
6
|
+
export function ConfigureSPOAuth(config?: AuthContextType) {
|
|
7
7
|
auth = config;
|
|
8
8
|
}
|
|
9
|
-
export async function getAxiosConfigSharePoint(tenantInfo:
|
|
9
|
+
export async function getAxiosConfigSharePoint(tenantInfo: ITenantInfo, hostName: string) {
|
|
10
10
|
if (isNullOrUndefined(auth)) throw Error("Call ConfigureSPOAuth first");
|
|
11
11
|
// only certificate supported
|
|
12
12
|
// DisableCustomAppAuthentication property, that disable this kind of auth., however it can be overriden using this command:
|