Skip to content

Commit 8b10127

Browse files
authored
chore(deps): In-sync feature capability master (#1233)
* chore(deps): bump js-yaml from 4.1.0 to 4.1.1 (#1206) Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@4.1.0...4.1.1) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.1.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump js-yaml from 3.14.1 to 3.14.2 (#1208) Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@3.14.1...3.14.2) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 3.14.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: updated `session_transfer` schema for `clients` (#1211) * Support for ACUL:GA (#1209) * streamline rendering update payload construction and remove under EA * Add screenRenderers to prompts in context tests * Update logging to check for non-empty list before displaying msg * Remove ACUL from EA_FEATURES array * fix: handle responses when paginating custom domains (#1214) * Update CHANGELOG * 8.20.3 * fix(client.ts): improve getEntity function to handle various response types - Update getEntity to accept ApiResponse or Asset[] as input - Return empty array for empty responses instead of throwing an error - Directly return response if it is an array * feat: Add support for Connection Profiles and Express Configuration on Clients (#1204) * 8.21.0 (#1215) * Update CHANGELOG * 8.21.0 * feat: Exclude Third-Party Clients via `AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS` config property (#1212) * added AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS config property * add unit test * update processChanges to also apply third party client filter * add comments to client filtering logic --------- Co-authored-by: kushalshit27 <[email protected]> * fix: `cross_origin_auth` is deprecated and migrated to `cross_origin_authentication` (#1223) * fix: added warning for legacy cross_origin_auth and added sanitizeDeprecatedClientFields for handling deprecated field and new field * test: add migration tests for deprecated cross_origin_auth to cross_origin_authentication * fix: rename variable for clarity in sanitizeClientFields function * fix: update client sanitization to handle deprecated cross_origin_auth field * fix: refactor client field sanitization to improve clarity and handle deprecated cross_origin_auth field * fix: specify type for fields in sanitizeClientFields function * fix: rename variable for clarity in sanitizeClientFields function and update handling of deprecated cross_origin_auth field * fix: migrate deprecated cross_origin_auth to cross_origin_authentication in client export * fix: ensure newline at end of file in clients.tests.js * fix: refactor cross_origin_auth sanitization into a dedicated method * fix: improve client field sanitization and handle deprecated cross_origin_auth field * Refactor code structure for improved readability and maintainability * fix: correct spelling of 'sanitized' in client field sanitization methods * fix: update deprecation warning for 'cross_origin_auth' parameter * fix: managing `Auth0 My Account API` in `resourceServers` (#1229) * fix: update dependencies to latest versions - package.json: bump winston to ^3.19.0 - package.json: bump @types/lodash to ^4.17.21 - package.json: bump typescript to ^5.9.3 * feat: enhance resource server handling - src/tools/auth0/handlers/resourceServers.ts: allow updating specific fields for system resource servers - src/tools/auth0/handlers/resourceServers.ts: sanitize fields of resource servers before returning - src/tools/auth0/handlers/resourceServers.ts: add updateResourceServer method to handle name exclusion for system servers * fix: remove from allowedKeys in ResourceServersHandler - src/tools/auth0/handlers/resourceServers.ts: removed 'token_lifetime_for_web' TODO - src/tools/auth0/handlers/resourceServers.ts: removed 'allow_offline_access' TODO * feat(test): add tests for Auth0 My Account API resource server handling - test/tools/auth0/handlers/resourceServers.tests.js: sanitize system resource servers in getType for Auth0 My Account API - test/tools/auth0/handlers/resourceServers.tests.js: update 'Auth0 My Account API' without name and is_system * 8.22.0 (#1230) * Update CHANGELOG * 8.22.0 * fix: improved_signup_bot_detection_in_classic is added in allowed tenant flags (#1231) fix: improved_signup_bot_detection_in_classic flag is added in allowed tenant flags * feat: update dependencies in package.json and package-lock.json - package.json: update auth0 from ^5.1.0 to ^5.2.0 - package.json: update winston from ^3.18.3 to ^3.19.0 - package.json: update @types/lodash from ^4.17.20 to ^4.17.21 - package.json: update @typescript-eslint/eslint-plugin from ^8.47.0 to ^8.49.0 - package.json: update @typescript-eslint/parser from ^8.47.0 to ^8.49.0 * feat: update method names from getAll to list for consistency * feat: update dependencies and improve handlers - package.json: update eslint and typescript-eslint dependencies to latest versions - package-lock.json: update eslint and typescript-eslint dependencies to latest versions - src/tools/auth0/handlers/clientGrants.ts: removed 'scope' from required fields - src/tools/auth0/handlers/connectionProfiles.ts: added update function and refactored processChanges - src/tools/auth0/handlers/emailTemplates.ts: added objString method for email templates - src/tools/auth0/handlers/resourceServers.ts: refactored updateResourceServer to exclude name from updates - src/tools/auth0/handlers/selfServiceProfiles.ts: added objString method for self-service profiles * feat: update Node version in README and remove redundant validation test - README.md: update Node version from 20.18.1 to 20.19.0 - test/tools/auth0/validator.tests.js: remove test for missing 'scope' validation * feat: update connectionProfiles and resourceServers handlers for parameter consistency - test/tools/auth0/handlers/connectionProfiles.tests.js: change update function parameter from params to id - test/tools/auth0/handlers/resourceServers.tests.js: change update function parameter from params to id * add lint check * add lint check * feat: update console warning handling and ESLint rules - src/context/directory/handlers/flowVaultConnections.ts: add console warning for setup key limitations - src/context/yaml/handlers/flowVaultConnections.ts: add console warning for setup key limitations - src/keywordPreservation.ts: add console warning for remote value preservation - eslint.config.js: change no-console rule to warn - src/index.ts: format error logging for better readability - test/tools/auth0/handlers/databases.tests.js: remove redundant console warning tests * E2E updated ---------
1 parent b0db5a2 commit 8b10127

File tree

55 files changed

+10793
-6702
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+10793
-6702
lines changed

.circleci/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,15 @@ jobs:
9393
- run: npm ci
9494
- run: npx tsc --noEmit
9595

96+
does_lint_pass:
97+
docker:
98+
- image: cimg/node:22.12.0
99+
working_directory: ~/repo
100+
steps:
101+
- checkout
102+
- run: npm ci
103+
- run: npm run lint
104+
96105
workflows:
97106
version: 2
98107

@@ -110,6 +119,8 @@ workflows:
110119
jobs:
111120
- does_typescript_compile:
112121
name: Does Typescript compile?
122+
- does_lint_pass:
123+
name: Does lint pass?
113124
- unit_test:
114125
name: Unit tests with Node LTS
115126
v: "lts"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ This guide will help you to a working implementation of the Deploy CLI tool used
4848
4949
### Prerequisites
5050

51-
- [Node](https://nodejs.dev/) version 20(v20.18.1) or greater
51+
- [Node](https://nodejs.dev/) version 20(v20.19.0) or greater
5252
- [Auth0 Tenant](https://auth0.com/)
5353

5454
### Install the Deploy CLI

docs/configuring-the-deploy-cli.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,10 @@ Provides ability to exclude any unwanted properties from management.
155155

156156
String. Separate value from audience value while retrieving an access token for management API. Useful when default Management API endpoints are not publicly exposed.
157157

158+
### `AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS`
159+
160+
Boolean. When enabled, excludes third-party clients from being managed. Only first-party clients will be included in export and import operations. This is useful when you have Dynamic Client Registration (DCR) enabled and you have a lot of third-party clients in your tenant. Default: `false`.
161+
158162
### `AUTH0_EXCLUDED_RULES`
159163

160164
Array of strings. Excludes the management of specific rules by ID. **Note:** This configuration may be subject to deprecation in the future. See: [excluding resources from management](excluding-from-management.md).

docs/excluding-from-management.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ Some resource types support exclusions of individual resource by name. This is p
5555

5656
> ⚠️ **NOTE:** Excluding resources by ID is being considered for deprecation in future major versions. See the [resource exclusion proposal](https://github.com/auth0/auth0-deploy-cli/issues/451) for more details.
5757
58+
### Excluding third-party clients
59+
60+
You can also exclude all third-party clients at once using the `AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS` configuration option. When enabled, only first-party clients will be included in export and import operations. This is useful when you have Dynamic Client Registration (DCR) enabled and you have a lot of third-party clients in your tenant.
61+
62+
```json
63+
{
64+
"AUTH0_DOMAIN": "example-site.us.auth0.com",
65+
"AUTH0_CLIENT_ID": "<YOUR_AUTH0_CLIENT_ID>",
66+
"AUTH0_EXCLUDE_THIRD_PARTY_CLIENTS": true
67+
}
68+
```
69+
5870
## Omitted vs excluded vs empty
5971

6072
The above sections pertain to exclusion which forcefully ignore configurations bi-directionally. It is worth noting similar but very different concepts: “omissions” and “empty” states.

docs/resource-specific-documentation.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,3 +628,82 @@ Example `phone-templates/otp_verify.json`:
628628
}
629629
}
630630
```
631+
632+
## Connection Profiles
633+
634+
Application specific configuration for use with the OIN Express Configuration feature
635+
636+
### YAML Example
637+
638+
```yaml
639+
# Contents of ./tenant.yaml
640+
connectionProfiles:
641+
- name: 'Enterprise SSO Profile'
642+
organization:
643+
show_as_button: 'required'
644+
assign_membership_on_login: 'required'
645+
connection_name_prefix_template: 'org-{organization_name}'
646+
enabled_features:
647+
- scim
648+
- universal_logout
649+
strategy_overrides:
650+
samlp:
651+
enabled_features:
652+
- universal_logout
653+
oidc:
654+
enabled_features:
655+
- scim
656+
- universal_logout
657+
- name: 'Basic Connection Profile'
658+
organization:
659+
show_as_button: 'optional'
660+
assign_membership_on_login: 'optional'
661+
enabled_features:
662+
- scim
663+
```
664+
665+
### Directory Example
666+
667+
File: `./connection-profiles/Enterprise SSO Profile.json`
668+
669+
```json
670+
{
671+
"name": "Enterprise SSO Profile",
672+
"organization": {
673+
"show_as_button": "required",
674+
"assign_membership_on_login": "required"
675+
},
676+
"connection_name_prefix_template": "org-{organization_name}",
677+
"enabled_features": ["scim", "universal_logout"],
678+
"strategy_overrides": {
679+
"samlp": {
680+
"enabled_features": ["universal_logout"]
681+
},
682+
"oidc": {
683+
"enabled_features": ["scim", "universal_logout"]
684+
}
685+
}
686+
}
687+
```
688+
689+
### Express Configuration on Clients
690+
691+
Connection profiles are used in conjunction with the `express_configuration` property on client applications: (In order to use express_configuration app_type should not be 'express_configuration')
692+
693+
```yaml
694+
clients:
695+
- name: 'My Enterprise App'
696+
app_type: 'regular_web'
697+
express_configuration:
698+
initiate_login_uri_template: 'https://myapp.com/sso/start?org={organization_name}&conn={connection_name}'
699+
user_attribute_profile_id: 'My User Attribute Profile'
700+
connection_profile_id: 'Enterprise SSO Profile' # Reference to connection profile
701+
enable_client: true
702+
enable_organization: true
703+
okta_oin_client_id: 'My Okta OIN Client'
704+
admin_login_domain: 'login.myapp.com'
705+
linked_clients:
706+
- client_id: 'client_id_of_mobile_app'
707+
```
708+
709+
For more details, see the [Management API documentation](https://auth0.com/docs/api/management/v2).

eslint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ module.exports = [
9191
'no-useless-escape': 'off',
9292
'no-redeclare': 'off',
9393
'no-unused-vars': 'off',
94+
'no-console': 'warn',
9495
'@typescript-eslint/no-unused-vars': [
9596
'error',
9697
{
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"name": "My App with Express Config",
3+
"app_type": "regular_web",
4+
"express_configuration": {
5+
"initiate_login_uri_template": "https://myapp.com/sso/start?org={organization_name}&conn={connection_name}",
6+
"user_attribute_profile_id": "My User Attribute Profile",
7+
"connection_profile_id": "Enterprise SSO Profile",
8+
"enable_client": true,
9+
"enable_organization": true,
10+
"okta_oin_client_id": "My Okta OIN Client",
11+
"admin_login_domain": "login.myapp.com"
12+
}
13+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "Basic Connection Profile",
3+
"organization": {
4+
"show_as_button": "optional",
5+
"assign_membership_on_login": "optional"
6+
},
7+
"enabled_features": [
8+
"scim"
9+
]
10+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"name": "Enterprise SSO Profile",
3+
"organization": {
4+
"show_as_button": "required",
5+
"assign_membership_on_login": "required"
6+
},
7+
"connection_name_prefix_template": "org-{org_name}",
8+
"enabled_features": [
9+
"scim",
10+
"universal_logout"
11+
],
12+
"strategy_overrides": {
13+
"samlp": {
14+
"enabled_features": [
15+
"universal_logout"
16+
],
17+
"connection_config": {}
18+
},
19+
"oidc": {
20+
"enabled_features": [
21+
"scim",
22+
"universal_logout"
23+
],
24+
"connection_config": {}
25+
}
26+
}
27+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"name": "My User Attribute Profile",
3+
"description": "My User Attribute Profile Description",
4+
"user_attributes": [
5+
{
6+
"name": "email",
7+
"description": "Email",
8+
"type": "email",
9+
"required": true
10+
}
11+
]
12+
}

0 commit comments

Comments
 (0)