@backstage/backend-app-api 0.7.1 → 0.7.2-next.1
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/CHANGELOG.md +32 -2
- package/alpha/package.json +1 -1
- package/dist/index.cjs.js +81 -66
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/package.json +28 -28
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
# @backstage/backend-app-api
|
|
2
2
|
|
|
3
|
-
## 0.7.1
|
|
3
|
+
## 0.7.2-next.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- 09f8988: Remove explicit `alg` check for user tokens in `verifyToken`
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @backstage/backend-common@0.22.0-next.1
|
|
10
|
+
- @backstage/backend-tasks@0.5.23-next.1
|
|
11
|
+
- @backstage/plugin-auth-node@0.4.13-next.1
|
|
12
|
+
- @backstage/plugin-permission-node@0.7.29-next.1
|
|
13
|
+
- @backstage/cli-node@0.2.5
|
|
14
|
+
- @backstage/config-loader@1.8.0
|
|
15
|
+
- @backstage/backend-plugin-api@0.6.18-next.1
|
|
16
|
+
|
|
17
|
+
## 0.7.1-next.0
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- 4cd5ff0: Add ability to configure the Node.js HTTP Server when configuring the root HTTP Router service
|
|
22
|
+
- e8199b1: Move the JWKS registration outside of the lifecycle middleware
|
|
23
|
+
- dc8c5dd: The default `TokenManager` implementation no longer requires keys to be configured in production, but it will throw an errors when generating or authenticating tokens. The default `AuthService` implementation will now also provide additional context if such an error is throw when falling back to using the `TokenManager` service to generate tokens for outgoing requests.
|
|
24
|
+
- 025641b: Redact `meta` fields too with the logger
|
|
25
|
+
- 5863e02: Internal refactor to only create one external token handler
|
|
26
|
+
- Updated dependencies
|
|
27
|
+
- @backstage/plugin-auth-node@0.4.13-next.0
|
|
28
|
+
- @backstage/backend-common@0.21.8-next.0
|
|
29
|
+
- @backstage/backend-plugin-api@0.6.18-next.0
|
|
30
|
+
- @backstage/backend-tasks@0.5.23-next.0
|
|
31
|
+
- @backstage/cli-common@0.1.13
|
|
32
|
+
- @backstage/cli-node@0.2.5
|
|
33
|
+
- @backstage/config@1.2.0
|
|
34
|
+
- @backstage/config-loader@1.8.0
|
|
35
|
+
- @backstage/errors@1.2.4
|
|
36
|
+
- @backstage/types@1.1.1
|
|
37
|
+
- @backstage/plugin-permission-node@0.7.29-next.0
|
|
8
38
|
|
|
9
39
|
## 0.7.0
|
|
10
40
|
|
package/alpha/package.json
CHANGED
package/dist/index.cjs.js
CHANGED
|
@@ -26,10 +26,10 @@ var backendCommon = require('@backstage/backend-common');
|
|
|
26
26
|
var jose = require('jose');
|
|
27
27
|
var uuid = require('uuid');
|
|
28
28
|
var pluginAuthNode = require('@backstage/plugin-auth-node');
|
|
29
|
+
var types = require('@backstage/types');
|
|
29
30
|
var backendAppApi = require('@backstage/backend-app-api');
|
|
30
31
|
var cookie = require('cookie');
|
|
31
32
|
var Router = require('express-promise-router');
|
|
32
|
-
var types = require('@backstage/types');
|
|
33
33
|
var pathToRegexp = require('path-to-regexp');
|
|
34
34
|
var pluginPermissionNode = require('@backstage/plugin-permission-node');
|
|
35
35
|
var express = require('express');
|
|
@@ -618,7 +618,7 @@ var __accessCheck$e = (obj, member, msg) => {
|
|
|
618
618
|
};
|
|
619
619
|
var __privateGet$c = (obj, member, getter) => {
|
|
620
620
|
__accessCheck$e(obj, member, "read from private field");
|
|
621
|
-
return
|
|
621
|
+
return member.get(obj);
|
|
622
622
|
};
|
|
623
623
|
var __privateAdd$e = (obj, member, value) => {
|
|
624
624
|
if (member.has(obj))
|
|
@@ -627,7 +627,7 @@ var __privateAdd$e = (obj, member, value) => {
|
|
|
627
627
|
};
|
|
628
628
|
var __privateSet$a = (obj, member, value, setter) => {
|
|
629
629
|
__accessCheck$e(obj, member, "write to private field");
|
|
630
|
-
|
|
630
|
+
member.set(obj, value);
|
|
631
631
|
return value;
|
|
632
632
|
};
|
|
633
633
|
var _config, _logger;
|
|
@@ -811,7 +811,7 @@ var __accessCheck$d = (obj, member, msg) => {
|
|
|
811
811
|
};
|
|
812
812
|
var __privateGet$b = (obj, member, getter) => {
|
|
813
813
|
__accessCheck$d(obj, member, "read from private field");
|
|
814
|
-
return
|
|
814
|
+
return member.get(obj);
|
|
815
815
|
};
|
|
816
816
|
var __privateAdd$d = (obj, member, value) => {
|
|
817
817
|
if (member.has(obj))
|
|
@@ -820,7 +820,7 @@ var __privateAdd$d = (obj, member, value) => {
|
|
|
820
820
|
};
|
|
821
821
|
var __privateSet$9 = (obj, member, value, setter) => {
|
|
822
822
|
__accessCheck$d(obj, member, "write to private field");
|
|
823
|
-
|
|
823
|
+
member.set(obj, value);
|
|
824
824
|
return value;
|
|
825
825
|
};
|
|
826
826
|
var _winston, _addRedactions;
|
|
@@ -857,16 +857,21 @@ const _WinstonLogger = class _WinstonLogger {
|
|
|
857
857
|
static redacter() {
|
|
858
858
|
const redactionSet = /* @__PURE__ */ new Set();
|
|
859
859
|
let redactionPattern = void 0;
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
860
|
+
const replace = (obj) => {
|
|
861
|
+
var _a;
|
|
862
|
+
for (const key in obj) {
|
|
863
|
+
if (obj.hasOwnProperty(key)) {
|
|
864
|
+
if (typeof obj[key] === "object") {
|
|
865
|
+
obj[key] = replace(obj[key]);
|
|
866
|
+
} else if (typeof obj[key] === "string") {
|
|
867
|
+
obj[key] = (_a = obj[key]) == null ? void 0 : _a.replace(redactionPattern, "[REDACTED]");
|
|
868
|
+
}
|
|
867
869
|
}
|
|
868
|
-
|
|
869
|
-
|
|
870
|
+
}
|
|
871
|
+
return obj;
|
|
872
|
+
};
|
|
873
|
+
return {
|
|
874
|
+
format: winston.format(replace)(),
|
|
870
875
|
add(newRedactions) {
|
|
871
876
|
let added = 0;
|
|
872
877
|
for (const redactionToTrim of newRedactions) {
|
|
@@ -943,7 +948,7 @@ var __accessCheck$c = (obj, member, msg) => {
|
|
|
943
948
|
};
|
|
944
949
|
var __privateGet$a = (obj, member, getter) => {
|
|
945
950
|
__accessCheck$c(obj, member, "read from private field");
|
|
946
|
-
return
|
|
951
|
+
return member.get(obj);
|
|
947
952
|
};
|
|
948
953
|
var __privateAdd$c = (obj, member, value) => {
|
|
949
954
|
if (member.has(obj))
|
|
@@ -952,7 +957,7 @@ var __privateAdd$c = (obj, member, value) => {
|
|
|
952
957
|
};
|
|
953
958
|
var __privateSet$8 = (obj, member, value, setter) => {
|
|
954
959
|
__accessCheck$c(obj, member, "write to private field");
|
|
955
|
-
|
|
960
|
+
member.set(obj, value);
|
|
956
961
|
return value;
|
|
957
962
|
};
|
|
958
963
|
var _hasStarted$1, _startupTasks$1, _hasShutdown, _shutdownTasks;
|
|
@@ -1037,7 +1042,7 @@ var __accessCheck$b = (obj, member, msg) => {
|
|
|
1037
1042
|
};
|
|
1038
1043
|
var __privateGet$9 = (obj, member, getter) => {
|
|
1039
1044
|
__accessCheck$b(obj, member, "read from private field");
|
|
1040
|
-
return
|
|
1045
|
+
return member.get(obj);
|
|
1041
1046
|
};
|
|
1042
1047
|
var __privateAdd$b = (obj, member, value) => {
|
|
1043
1048
|
if (member.has(obj))
|
|
@@ -1046,7 +1051,7 @@ var __privateAdd$b = (obj, member, value) => {
|
|
|
1046
1051
|
};
|
|
1047
1052
|
var __privateSet$7 = (obj, member, value, setter) => {
|
|
1048
1053
|
__accessCheck$b(obj, member, "write to private field");
|
|
1049
|
-
|
|
1054
|
+
member.set(obj, value);
|
|
1050
1055
|
return value;
|
|
1051
1056
|
};
|
|
1052
1057
|
var _hasStarted, _startupTasks;
|
|
@@ -1117,7 +1122,7 @@ var __accessCheck$a = (obj, member, msg) => {
|
|
|
1117
1122
|
};
|
|
1118
1123
|
var __privateGet$8 = (obj, member, getter) => {
|
|
1119
1124
|
__accessCheck$a(obj, member, "read from private field");
|
|
1120
|
-
return
|
|
1125
|
+
return member.get(obj);
|
|
1121
1126
|
};
|
|
1122
1127
|
var __privateAdd$a = (obj, member, value) => {
|
|
1123
1128
|
if (member.has(obj))
|
|
@@ -1126,7 +1131,7 @@ var __privateAdd$a = (obj, member, value) => {
|
|
|
1126
1131
|
};
|
|
1127
1132
|
var __privateSet$6 = (obj, member, value, setter) => {
|
|
1128
1133
|
__accessCheck$a(obj, member, "write to private field");
|
|
1129
|
-
|
|
1134
|
+
member.set(obj, value);
|
|
1130
1135
|
return value;
|
|
1131
1136
|
};
|
|
1132
1137
|
var __privateMethod$7 = (obj, member, method) => {
|
|
@@ -1326,7 +1331,7 @@ var __accessCheck$9 = (obj, member, msg) => {
|
|
|
1326
1331
|
};
|
|
1327
1332
|
var __privateGet$7 = (obj, member, getter) => {
|
|
1328
1333
|
__accessCheck$9(obj, member, "read from private field");
|
|
1329
|
-
return
|
|
1334
|
+
return member.get(obj);
|
|
1330
1335
|
};
|
|
1331
1336
|
var __privateAdd$9 = (obj, member, value) => {
|
|
1332
1337
|
if (member.has(obj))
|
|
@@ -1335,7 +1340,7 @@ var __privateAdd$9 = (obj, member, value) => {
|
|
|
1335
1340
|
};
|
|
1336
1341
|
var __privateSet$5 = (obj, member, value, setter) => {
|
|
1337
1342
|
__accessCheck$9(obj, member, "write to private field");
|
|
1338
|
-
|
|
1343
|
+
member.set(obj, value);
|
|
1339
1344
|
return value;
|
|
1340
1345
|
};
|
|
1341
1346
|
var __privateMethod$6 = (obj, member, method) => {
|
|
@@ -1565,7 +1570,7 @@ var __accessCheck$8 = (obj, member, msg) => {
|
|
|
1565
1570
|
};
|
|
1566
1571
|
var __privateGet$6 = (obj, member, getter) => {
|
|
1567
1572
|
__accessCheck$8(obj, member, "read from private field");
|
|
1568
|
-
return
|
|
1573
|
+
return member.get(obj);
|
|
1569
1574
|
};
|
|
1570
1575
|
var __privateAdd$8 = (obj, member, value) => {
|
|
1571
1576
|
if (member.has(obj))
|
|
@@ -1574,7 +1579,7 @@ var __privateAdd$8 = (obj, member, value) => {
|
|
|
1574
1579
|
};
|
|
1575
1580
|
var __privateSet$4 = (obj, member, value, setter) => {
|
|
1576
1581
|
__accessCheck$8(obj, member, "write to private field");
|
|
1577
|
-
|
|
1582
|
+
member.set(obj, value);
|
|
1578
1583
|
return value;
|
|
1579
1584
|
};
|
|
1580
1585
|
var __privateMethod$5 = (obj, member, method) => {
|
|
@@ -1865,7 +1870,7 @@ var __accessCheck$7 = (obj, member, msg) => {
|
|
|
1865
1870
|
};
|
|
1866
1871
|
var __privateGet$5 = (obj, member, getter) => {
|
|
1867
1872
|
__accessCheck$7(obj, member, "read from private field");
|
|
1868
|
-
return
|
|
1873
|
+
return member.get(obj);
|
|
1869
1874
|
};
|
|
1870
1875
|
var __privateAdd$7 = (obj, member, value) => {
|
|
1871
1876
|
if (member.has(obj))
|
|
@@ -1874,7 +1879,7 @@ var __privateAdd$7 = (obj, member, value) => {
|
|
|
1874
1879
|
};
|
|
1875
1880
|
var __privateSet$3 = (obj, member, value, setter) => {
|
|
1876
1881
|
__accessCheck$7(obj, member, "write to private field");
|
|
1877
|
-
|
|
1882
|
+
member.set(obj, value);
|
|
1878
1883
|
return value;
|
|
1879
1884
|
};
|
|
1880
1885
|
var _initializer;
|
|
@@ -2142,7 +2147,12 @@ class DefaultAuthService {
|
|
|
2142
2147
|
targetPluginId
|
|
2143
2148
|
});
|
|
2144
2149
|
}
|
|
2145
|
-
return this.tokenManager.getToken()
|
|
2150
|
+
return this.tokenManager.getToken().catch((error) => {
|
|
2151
|
+
throw new errors.ForwardedError(
|
|
2152
|
+
`Unable to generate legacy token for communication with the '${targetPluginId}' plugin. You will typically encounter this error when attempting to call a plugin that does not exist, or is deployed with an old version of Backstage`,
|
|
2153
|
+
error
|
|
2154
|
+
);
|
|
2155
|
+
});
|
|
2146
2156
|
case "user": {
|
|
2147
2157
|
const { token } = internalForward;
|
|
2148
2158
|
if (!token) {
|
|
@@ -2200,7 +2210,7 @@ var __accessCheck$5 = (obj, member, msg) => {
|
|
|
2200
2210
|
};
|
|
2201
2211
|
var __privateGet$4 = (obj, member, getter) => {
|
|
2202
2212
|
__accessCheck$5(obj, member, "read from private field");
|
|
2203
|
-
return
|
|
2213
|
+
return member.get(obj);
|
|
2204
2214
|
};
|
|
2205
2215
|
var __privateAdd$5 = (obj, member, value) => {
|
|
2206
2216
|
if (member.has(obj))
|
|
@@ -2209,7 +2219,7 @@ var __privateAdd$5 = (obj, member, value) => {
|
|
|
2209
2219
|
};
|
|
2210
2220
|
var __privateSet$2 = (obj, member, value, setter) => {
|
|
2211
2221
|
__accessCheck$5(obj, member, "write to private field");
|
|
2212
|
-
|
|
2222
|
+
member.set(obj, value);
|
|
2213
2223
|
return value;
|
|
2214
2224
|
};
|
|
2215
2225
|
var _keyStore, _keyStoreUpdated;
|
|
@@ -2287,7 +2297,7 @@ class PluginTokenHandler {
|
|
|
2287
2297
|
options.logger,
|
|
2288
2298
|
options.ownPluginId,
|
|
2289
2299
|
options.publicKeyStore,
|
|
2290
|
-
options.
|
|
2300
|
+
Math.round(types.durationToMilliseconds(options.keyDuration) / 1e3),
|
|
2291
2301
|
(_a = options.algorithm) != null ? _a : "ES256",
|
|
2292
2302
|
options.discovery
|
|
2293
2303
|
);
|
|
@@ -2457,18 +2467,16 @@ var __privateMethod$3 = (obj, member, method) => {
|
|
|
2457
2467
|
};
|
|
2458
2468
|
var _getTokenVerificationOptions, getTokenVerificationOptions_fn;
|
|
2459
2469
|
const _UserTokenHandler = class _UserTokenHandler {
|
|
2460
|
-
constructor(
|
|
2461
|
-
this.algorithms = algorithms;
|
|
2470
|
+
constructor(jwksClient) {
|
|
2462
2471
|
this.jwksClient = jwksClient;
|
|
2463
2472
|
__privateAdd$4(this, _getTokenVerificationOptions);
|
|
2464
2473
|
}
|
|
2465
2474
|
static create(options) {
|
|
2466
|
-
const algorithms = ["ES256"];
|
|
2467
2475
|
const jwksClient = new JwksClient(async () => {
|
|
2468
2476
|
const url = await options.discovery.getBaseUrl("auth");
|
|
2469
2477
|
return new URL(`${url}/.well-known/jwks.json`);
|
|
2470
2478
|
});
|
|
2471
|
-
return new _UserTokenHandler(
|
|
2479
|
+
return new _UserTokenHandler(jwksClient);
|
|
2472
2480
|
}
|
|
2473
2481
|
async verifyToken(token) {
|
|
2474
2482
|
const verifyOpts = __privateMethod$3(this, _getTokenVerificationOptions, getTokenVerificationOptions_fn).call(this, token);
|
|
@@ -2541,14 +2549,12 @@ getTokenVerificationOptions_fn = function(token) {
|
|
|
2541
2549
|
const { typ } = jose.decodeProtectedHeader(token);
|
|
2542
2550
|
if (typ === pluginAuthNode.tokenTypes.user.typParam) {
|
|
2543
2551
|
return {
|
|
2544
|
-
algorithms: this.algorithms,
|
|
2545
2552
|
requiredClaims: ["iat", "exp", "sub"],
|
|
2546
2553
|
typ: pluginAuthNode.tokenTypes.user.typParam
|
|
2547
2554
|
};
|
|
2548
2555
|
}
|
|
2549
2556
|
if (typ === pluginAuthNode.tokenTypes.limitedUser.typParam) {
|
|
2550
2557
|
return {
|
|
2551
|
-
algorithms: this.algorithms,
|
|
2552
2558
|
requiredClaims: ["iat", "exp", "sub"],
|
|
2553
2559
|
typ: pluginAuthNode.tokenTypes.limitedUser.typParam
|
|
2554
2560
|
};
|
|
@@ -2556,7 +2562,6 @@ getTokenVerificationOptions_fn = function(token) {
|
|
|
2556
2562
|
const { aud } = jose.decodeJwt(token);
|
|
2557
2563
|
if (aud === pluginAuthNode.tokenTypes.user.audClaim) {
|
|
2558
2564
|
return {
|
|
2559
|
-
algorithms: this.algorithms,
|
|
2560
2565
|
audience: pluginAuthNode.tokenTypes.user.audClaim
|
|
2561
2566
|
};
|
|
2562
2567
|
}
|
|
@@ -2572,7 +2577,7 @@ var __accessCheck$3 = (obj, member, msg) => {
|
|
|
2572
2577
|
};
|
|
2573
2578
|
var __privateGet$3 = (obj, member, getter) => {
|
|
2574
2579
|
__accessCheck$3(obj, member, "read from private field");
|
|
2575
|
-
return
|
|
2580
|
+
return member.get(obj);
|
|
2576
2581
|
};
|
|
2577
2582
|
var __privateAdd$3 = (obj, member, value) => {
|
|
2578
2583
|
if (member.has(obj))
|
|
@@ -2646,7 +2651,7 @@ var __accessCheck$2 = (obj, member, msg) => {
|
|
|
2646
2651
|
};
|
|
2647
2652
|
var __privateGet$2 = (obj, member, getter) => {
|
|
2648
2653
|
__accessCheck$2(obj, member, "read from private field");
|
|
2649
|
-
return
|
|
2654
|
+
return member.get(obj);
|
|
2650
2655
|
};
|
|
2651
2656
|
var __privateAdd$2 = (obj, member, value) => {
|
|
2652
2657
|
if (member.has(obj))
|
|
@@ -2748,7 +2753,16 @@ const authServiceFactory = backendPluginApi.createServiceFactory({
|
|
|
2748
2753
|
// new auth services in the new backend system.
|
|
2749
2754
|
tokenManager: backendPluginApi.coreServices.tokenManager
|
|
2750
2755
|
},
|
|
2751
|
-
async
|
|
2756
|
+
async createRootContext({ config, logger }) {
|
|
2757
|
+
const externalTokens = ExternalTokenHandler.create({
|
|
2758
|
+
config,
|
|
2759
|
+
logger
|
|
2760
|
+
});
|
|
2761
|
+
return {
|
|
2762
|
+
externalTokens
|
|
2763
|
+
};
|
|
2764
|
+
},
|
|
2765
|
+
async factory({ config, discovery, plugin, tokenManager, logger, database }, { externalTokens }) {
|
|
2752
2766
|
const disableDefaultAuthPolicy = Boolean(
|
|
2753
2767
|
config.getOptionalBoolean(
|
|
2754
2768
|
"backend.auth.dangerouslyDisableDefaultAuthPolicy"
|
|
@@ -2763,15 +2777,11 @@ const authServiceFactory = backendPluginApi.createServiceFactory({
|
|
|
2763
2777
|
});
|
|
2764
2778
|
const pluginTokens = PluginTokenHandler.create({
|
|
2765
2779
|
ownPluginId: plugin.getId(),
|
|
2766
|
-
|
|
2780
|
+
keyDuration: { hours: 1 },
|
|
2767
2781
|
logger,
|
|
2768
2782
|
publicKeyStore,
|
|
2769
2783
|
discovery
|
|
2770
2784
|
});
|
|
2771
|
-
const externalTokens = ExternalTokenHandler.create({
|
|
2772
|
-
config,
|
|
2773
|
-
logger
|
|
2774
|
-
});
|
|
2775
2785
|
return new DefaultAuthService(
|
|
2776
2786
|
userTokens,
|
|
2777
2787
|
pluginTokens,
|
|
@@ -2935,7 +2945,7 @@ var __accessCheck$1 = (obj, member, msg) => {
|
|
|
2935
2945
|
};
|
|
2936
2946
|
var __privateGet$1 = (obj, member, getter) => {
|
|
2937
2947
|
__accessCheck$1(obj, member, "read from private field");
|
|
2938
|
-
return
|
|
2948
|
+
return member.get(obj);
|
|
2939
2949
|
};
|
|
2940
2950
|
var __privateAdd$1 = (obj, member, value) => {
|
|
2941
2951
|
if (member.has(obj))
|
|
@@ -2944,7 +2954,7 @@ var __privateAdd$1 = (obj, member, value) => {
|
|
|
2944
2954
|
};
|
|
2945
2955
|
var __privateSet$1 = (obj, member, value, setter) => {
|
|
2946
2956
|
__accessCheck$1(obj, member, "write to private field");
|
|
2947
|
-
|
|
2957
|
+
member.set(obj, value);
|
|
2948
2958
|
return value;
|
|
2949
2959
|
};
|
|
2950
2960
|
var __privateMethod$1 = (obj, member, method) => {
|
|
@@ -3376,7 +3386,7 @@ var __accessCheck = (obj, member, msg) => {
|
|
|
3376
3386
|
};
|
|
3377
3387
|
var __privateGet = (obj, member, getter) => {
|
|
3378
3388
|
__accessCheck(obj, member, "read from private field");
|
|
3379
|
-
return
|
|
3389
|
+
return member.get(obj);
|
|
3380
3390
|
};
|
|
3381
3391
|
var __privateAdd = (obj, member, value) => {
|
|
3382
3392
|
if (member.has(obj))
|
|
@@ -3385,7 +3395,7 @@ var __privateAdd = (obj, member, value) => {
|
|
|
3385
3395
|
};
|
|
3386
3396
|
var __privateSet = (obj, member, value, setter) => {
|
|
3387
3397
|
__accessCheck(obj, member, "write to private field");
|
|
3388
|
-
|
|
3398
|
+
member.set(obj, value);
|
|
3389
3399
|
return value;
|
|
3390
3400
|
};
|
|
3391
3401
|
var __privateMethod = (obj, member, method) => {
|
|
@@ -3467,15 +3477,8 @@ findConflictingPath_fn = function(newPath) {
|
|
|
3467
3477
|
};
|
|
3468
3478
|
let DefaultRootHttpRouter = _DefaultRootHttpRouter;
|
|
3469
3479
|
|
|
3470
|
-
function defaultConfigure(
|
|
3471
|
-
|
|
3472
|
-
app.use(middleware.helmet());
|
|
3473
|
-
app.use(middleware.cors());
|
|
3474
|
-
app.use(middleware.compression());
|
|
3475
|
-
app.use(middleware.logging());
|
|
3476
|
-
app.use(routes);
|
|
3477
|
-
app.use(middleware.notFound());
|
|
3478
|
-
app.use(middleware.error());
|
|
3480
|
+
function defaultConfigure({ applyDefaults }) {
|
|
3481
|
+
applyDefaults();
|
|
3479
3482
|
}
|
|
3480
3483
|
const rootHttpRouterServiceFactory = backendPluginApi.createServiceFactory(
|
|
3481
3484
|
(options) => ({
|
|
@@ -3491,19 +3494,30 @@ const rootHttpRouterServiceFactory = backendPluginApi.createServiceFactory(
|
|
|
3491
3494
|
const app = express__default.default();
|
|
3492
3495
|
const router = DefaultRootHttpRouter.create({ indexPath });
|
|
3493
3496
|
const middleware = MiddlewareFactory.create({ config, logger });
|
|
3497
|
+
const routes = router.handler();
|
|
3498
|
+
const server = await createHttpServer(
|
|
3499
|
+
app,
|
|
3500
|
+
readHttpServerOptions(config.getOptionalConfig("backend")),
|
|
3501
|
+
{ logger }
|
|
3502
|
+
);
|
|
3494
3503
|
configure({
|
|
3495
3504
|
app,
|
|
3496
|
-
|
|
3505
|
+
server,
|
|
3506
|
+
routes,
|
|
3497
3507
|
middleware,
|
|
3498
3508
|
config,
|
|
3499
3509
|
logger,
|
|
3500
|
-
lifecycle
|
|
3510
|
+
lifecycle,
|
|
3511
|
+
applyDefaults() {
|
|
3512
|
+
app.use(middleware.helmet());
|
|
3513
|
+
app.use(middleware.cors());
|
|
3514
|
+
app.use(middleware.compression());
|
|
3515
|
+
app.use(middleware.logging());
|
|
3516
|
+
app.use(routes);
|
|
3517
|
+
app.use(middleware.notFound());
|
|
3518
|
+
app.use(middleware.error());
|
|
3519
|
+
}
|
|
3501
3520
|
});
|
|
3502
|
-
const server = await createHttpServer(
|
|
3503
|
-
app,
|
|
3504
|
-
readHttpServerOptions(config.getOptionalConfig("backend")),
|
|
3505
|
-
{ logger }
|
|
3506
|
-
);
|
|
3507
3521
|
lifecycle.addShutdownHook(() => server.stop());
|
|
3508
3522
|
await server.start();
|
|
3509
3523
|
return router;
|
|
@@ -3557,7 +3571,8 @@ const tokenManagerServiceFactory = backendPluginApi.createServiceFactory({
|
|
|
3557
3571
|
},
|
|
3558
3572
|
createRootContext({ config, logger }) {
|
|
3559
3573
|
return backendCommon.ServerTokenManager.fromConfig(config, {
|
|
3560
|
-
logger
|
|
3574
|
+
logger,
|
|
3575
|
+
allowDisabledTokenManager: true
|
|
3561
3576
|
});
|
|
3562
3577
|
},
|
|
3563
3578
|
async factory(_deps, tokenManager) {
|