auth0-deploy-cli 8.29.1 → 8.29.3
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
CHANGED
|
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [8.29.3] - 2026-03-25
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Fix Universal Login Authentication Profile reverting to Identifier+Password after import when branding is included. [#1333]
|
|
15
|
+
- Fix efficiency and reliability of fetching `enabled_clients` for `connections`. [#1334]
|
|
16
|
+
|
|
17
|
+
## [8.29.2] - 2026-03-17
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Fix false-positive deprecation warning for `cross_origin_auth` when `cross_origin_authentication` is correctly used in config. [#1322]
|
|
22
|
+
|
|
10
23
|
## [8.29.1] - 2026-03-12
|
|
11
24
|
|
|
12
25
|
### Fixed
|
|
@@ -1678,7 +1691,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1678
1691
|
[#1311]: https://github.com/auth0/auth0-deploy-cli/issues/1311
|
|
1679
1692
|
[#1320]: https://github.com/auth0/auth0-deploy-cli/issues/1320
|
|
1680
1693
|
[#1321]: https://github.com/auth0/auth0-deploy-cli/issues/1321
|
|
1681
|
-
[
|
|
1694
|
+
[#1322]: https://github.com/auth0/auth0-deploy-cli/issues/1322
|
|
1695
|
+
[#1333]: https://github.com/auth0/auth0-deploy-cli/issues/1333
|
|
1696
|
+
[#1334]: https://github.com/auth0/auth0-deploy-cli/issues/1334
|
|
1697
|
+
[Unreleased]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.3...HEAD
|
|
1698
|
+
[8.29.3]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.2...v8.29.3
|
|
1699
|
+
[8.29.2]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.1...v8.29.2
|
|
1682
1700
|
[8.29.1]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.0...v8.29.1
|
|
1683
1701
|
[8.29.0]: https://github.com/auth0/auth0-deploy-cli/compare/v8.28.0...v8.29.0
|
|
1684
1702
|
[8.28.0]: https://github.com/auth0/auth0-deploy-cli/compare/v8.27.0...v8.28.0
|
|
@@ -324,7 +324,7 @@ exports.schema = {
|
|
|
324
324
|
const createClientSanitizer = (clients) => {
|
|
325
325
|
let sanitized = clients;
|
|
326
326
|
return {
|
|
327
|
-
sanitizeCrossOriginAuth() {
|
|
327
|
+
sanitizeCrossOriginAuth(warn = true) {
|
|
328
328
|
const deprecatedClients = [];
|
|
329
329
|
sanitized = sanitized.map((client) => {
|
|
330
330
|
let updated = { ...client };
|
|
@@ -338,9 +338,8 @@ const createClientSanitizer = (clients) => {
|
|
|
338
338
|
}
|
|
339
339
|
return updated;
|
|
340
340
|
});
|
|
341
|
-
if (deprecatedClients.length > 0) {
|
|
342
|
-
logger_1.default.warn("The 'cross_origin_auth' parameter is deprecated
|
|
343
|
-
`Use 'cross_origin_authentication' going forward. Clients using the deprecated setting: [${deprecatedClients.join(', ')}]`);
|
|
341
|
+
if (warn && deprecatedClients.length > 0) {
|
|
342
|
+
logger_1.default.warn("The 'cross_origin_auth' parameter is deprecated. Use 'cross_origin_authentication' going forward.");
|
|
344
343
|
}
|
|
345
344
|
return this;
|
|
346
345
|
},
|
|
@@ -451,7 +450,7 @@ class ClientHandler extends default_1.default {
|
|
|
451
450
|
is_global: false,
|
|
452
451
|
...((0, utils_1.shouldExcludeThirdPartyClients)(this.config) && { is_first_party: true }),
|
|
453
452
|
});
|
|
454
|
-
this.existing = createClientSanitizer(clients).sanitizeCrossOriginAuth().get();
|
|
453
|
+
this.existing = createClientSanitizer(clients).sanitizeCrossOriginAuth(false).get();
|
|
455
454
|
return this.existing;
|
|
456
455
|
}
|
|
457
456
|
// convert names back to IDs for express configuration
|
|
@@ -166,10 +166,18 @@ const getConnectionEnabledClients = async (auth0Client, connectionId) => {
|
|
|
166
166
|
if (!connectionId)
|
|
167
167
|
return null;
|
|
168
168
|
try {
|
|
169
|
-
|
|
169
|
+
logger_1.default.debug(`Getting enabled clients for connection ${connectionId}`);
|
|
170
|
+
const enabledClients = [];
|
|
171
|
+
let page = await auth0Client.connections.clients.get(connectionId, { take: 100 });
|
|
172
|
+
enabledClients.push(...(page.data || []));
|
|
173
|
+
while (page.hasNextPage && page.hasNextPage()) {
|
|
174
|
+
page = await page.getNextPage();
|
|
175
|
+
enabledClients.push(...(page.data || []));
|
|
176
|
+
}
|
|
170
177
|
return enabledClients.filter((client) => !!client?.client_id).map((client) => client.client_id);
|
|
171
178
|
}
|
|
172
179
|
catch (error) {
|
|
180
|
+
logger_1.default.warn(`Unable to retrieve enabled clients for connection ${connectionId}: ${error?.message}`);
|
|
173
181
|
return null;
|
|
174
182
|
}
|
|
175
183
|
};
|
|
@@ -473,27 +481,35 @@ class ConnectionsHandler extends default_1.default {
|
|
|
473
481
|
this.existing = filteredConnections;
|
|
474
482
|
if (this.existing === null)
|
|
475
483
|
return [];
|
|
476
|
-
const
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
connection.enabled_clients = enabledClients;
|
|
484
|
-
}
|
|
485
|
-
if (connection.strategy === 'google-apps' && directoryProvisioningConfigs) {
|
|
486
|
-
const dirProvConfig = directoryProvisioningConfigs.find((congigCon) => congigCon.connection_id === con.id);
|
|
487
|
-
if (dirProvConfig) {
|
|
488
|
-
connection.directory_provisioning_configuration = {
|
|
489
|
-
mapping: dirProvConfig.mapping,
|
|
490
|
-
synchronize_automatically: dirProvConfig.synchronize_automatically,
|
|
491
|
-
};
|
|
484
|
+
const connectionTasks = filteredConnections.map((con, index) => ({ con, index }));
|
|
485
|
+
const connectionsWithEnabledClients = await this.client.pool
|
|
486
|
+
.addEachTask({
|
|
487
|
+
data: connectionTasks,
|
|
488
|
+
generator: async ({ con, index }) => {
|
|
489
|
+
if (!con?.id) {
|
|
490
|
+
return { index, connection: con };
|
|
492
491
|
}
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
492
|
+
const enabledClients = await (0, exports.getConnectionEnabledClients)(this.client, con.id);
|
|
493
|
+
let connection = { ...con };
|
|
494
|
+
if (enabledClients?.length) {
|
|
495
|
+
connection.enabled_clients = enabledClients;
|
|
496
|
+
}
|
|
497
|
+
if (connection.strategy === 'google-apps' && directoryProvisioningConfigs) {
|
|
498
|
+
const dirProvConfig = directoryProvisioningConfigs.find((configCon) => configCon.connection_id === con.id);
|
|
499
|
+
if (dirProvConfig) {
|
|
500
|
+
connection.directory_provisioning_configuration = {
|
|
501
|
+
mapping: dirProvConfig.mapping,
|
|
502
|
+
synchronize_automatically: dirProvConfig.synchronize_automatically,
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
return { index, connection };
|
|
507
|
+
},
|
|
508
|
+
})
|
|
509
|
+
.promise();
|
|
510
|
+
this.existing = connectionsWithEnabledClients
|
|
511
|
+
.sort((a, b) => a.index - b.index)
|
|
512
|
+
.map(({ connection }) => connection);
|
|
497
513
|
// Apply `scim_configuration` to all the relevant `SCIM` connections. This method mutates `this.existing`.
|
|
498
514
|
await this.scimHandler.applyScimConfiguration(this.existing);
|
|
499
515
|
return this.existing;
|
|
@@ -1,4 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
2
41
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
42
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
43
|
};
|
|
@@ -6,7 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
45
|
exports.schema = void 0;
|
|
7
46
|
const lodash_1 = require("lodash");
|
|
8
47
|
const auth0_1 = require("auth0");
|
|
9
|
-
const default_1 =
|
|
48
|
+
const default_1 = __importStar(require("./default"));
|
|
10
49
|
const types_1 = require("../../../types");
|
|
11
50
|
const logger_1 = __importDefault(require("../../../logger"));
|
|
12
51
|
const client_1 = require("../client");
|
|
@@ -459,3 +498,6 @@ class PromptsHandler extends default_1.default {
|
|
|
459
498
|
}
|
|
460
499
|
}
|
|
461
500
|
exports.default = PromptsHandler;
|
|
501
|
+
__decorate([
|
|
502
|
+
(0, default_1.order)('80')
|
|
503
|
+
], PromptsHandler.prototype, "processChanges", null);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auth0-deploy-cli",
|
|
3
|
-
"version": "8.29.
|
|
3
|
+
"version": "8.29.3",
|
|
4
4
|
"description": "A command line tool for deploying updates to your Auth0 tenant",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"nconf": "^0.13.0",
|
|
43
43
|
"promise-pool-executor": "^1.1.1",
|
|
44
44
|
"sanitize-filename": "^1.6.3",
|
|
45
|
-
"undici": "^7.
|
|
45
|
+
"undici": "^7.24.3",
|
|
46
46
|
"winston": "^3.19.0",
|
|
47
47
|
"yargs": "^15.4.1"
|
|
48
48
|
},
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"@types/lodash": "^4.17.24",
|
|
53
53
|
"@types/mocha": "^10.0.10",
|
|
54
54
|
"@types/nconf": "^0.10.7",
|
|
55
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
56
|
-
"@typescript-eslint/parser": "^8.
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "^8.57.0",
|
|
56
|
+
"@typescript-eslint/parser": "^8.57.0",
|
|
57
57
|
"chai": "^4.5.0",
|
|
58
58
|
"chai-as-promised": "^7.1.2",
|
|
59
59
|
"eslint": "^9.39.2",
|