Skip to content

Conversation

@kushalshit27
Copy link
Contributor

@kushalshit27 kushalshit27 commented Nov 14, 2025

🔧 Changes

Add support for Connection Profiles and Express Configuration on Clients

  • Connection Profiles: Added new resource type connectionProfiles to manage application-specific configurations for use with the OIN Express Configuration feature
  • Express Configuration on Clients: Extended the clients schema to support the new express_configuration property

Examples

YAML format

Connection Profile:

connectionProfiles:
  - name: "Enterprise SSO Profile"
    organization:
      show_as_button: "required"
      assign_membership_on_login: "required"
    connection_name_prefix_template: "org-{org_name}"
    enabled_features:
      - scim
      - universal_logout
    strategy_overrides:
      samlp:
        enabled_features:
          - universal_logout
      oidc:
        enabled_features:
          - scim
          - universal_logout

Client with Express Configuration:

clients:
  - name: "My Enterprise App"
    app_type: "regular_web"
    express_configuration:
      initiate_login_uri_template: "https://myapp.com/sso/start?org={organization_name}&conn={connection_name}"
      user_attribute_profile_id: "User-profile-1"
      connection_profile_id: "Enterprise SSO Profile"
      enable_client: true
      enable_organization: true
      okta_oin_client_id: "my-oin-app"
      admin_login_domain: "login.myapp.com"

JSON format

Connection Profile:

{
  "name": "Enterprise SSO Profile",
  "organization": {
    "show_as_button": "required",
    "assign_membership_on_login": "required"
  },
  "connection_name_prefix_template": "org-{org_name}",
  "enabled_features": ["scim", "universal_logout"],
  "strategy_overrides": {
    "samlp": {
      "enabled_features": ["universal_logout"]
    },
    "oidc": {
      "enabled_features": ["scim", "universal_logout"]
    }
  }
}

📚 References

🔬 Testing

  • unit test added
  • updates e2e tests

📝 Checklist

  • All new/changed/fixed functionality is covered by tests (or N/A)
  • I have added documentation for all new/changed functionality (or N/A)

- docs/resource-specific-documentation.md: add documentation for connection profiles and their properties
- examples/yaml/tenant.yaml: include connection profiles in tenant configuration example
- src/context/directory/handlers/index.ts: register connectionProfiles handler
- src/context/yaml/handlers/index.ts: register connectionProfiles handler
- src/tools/auth0/handlers/clients.ts: add express_configuration properties for connection profiles
- src/tools/auth0/handlers/index.ts: register connectionProfiles handler
- src/tools/constants.ts: add CONNECTION_PROFILES_DIRECTORY constant
- src/types.ts: extend Assets and AssetTypes to include connectionProfiles
- examples/directory/connection-profiles/Basic Connection Profile.json: add basic connection profile example
- examples/directory/connection-profiles/Enterprise SSO Profile.json: add enterprise SSO profile example
- src/context/directory/handlers/connectionProfiles.ts: implement connectionProfiles handler for directory context
- src/context/yaml/handlers/connectionProfiles.ts: implement connectionProfiles handler for YAML context
- src/tools/auth0/handlers/connectionProfiles.ts: implement connectionProfiles handler for Auth0 API
@kushalshit27 kushalshit27 changed the title feat: add connection profiles support feat: support new connection-profiles and express-configuration property on clients Nov 14, 2025
@kushalshit27 kushalshit27 changed the title feat: support new connection-profiles and express-configuration property on clients feat: Add support for Connection Profiles and Express Configuration on Clients Nov 14, 2025
…rors

- examples/directory/connection-profiles/Enterprise SSO Profile.json: change connection_name_prefix_template to org-{org_name}
- examples/yaml/tenant.yaml: change connection_name_prefix_template to org-{org_name}
- package.json: bump auth0 version to ^4.37.0
- package-lock.json: bump auth0 version to ^4.37.0
- src/tools/auth0/client.ts: set default pagination take value if not provided
- src/tools/auth0/handlers/connectionProfiles.ts: improve error handling for connection profiles retrieval
- test/context/yaml/context.test.js: added connectionProfiles to YAML context
- test/utils.js: added connectionProfiles mock to mockMgmtClient
- src/context/directory/handlers/clients.ts: map user attribute and connection profile IDs to names in dump function
- src/context/yaml/handlers/clients.ts: map user attribute and connection profile IDs to names in dump function
- src/tools/auth0/handlers/clients.ts: add express configuration mapping and sanitize client fields
- src/tools/auth0/handlers/connectionProfiles.ts: implement getConnectionProfile function for fetching connection profiles
- src/tools/auth0/handlers/selfServiceProfiles.ts: update user attribute profiles fetching method
- src/tools/auth0/handlers/userAttributeProfiles.ts: implement getUserAttributeProfiles function for fetching user attribute profiles
- test/tools/auth0/handlers/clients.tests.js: add connectionProfiles and userAttributeProfiles to mock data
- test/tools/auth0/handlers/selfServiceProfiles.tests.js: include userAttributeProfiles in mock data
- test/tools/auth0/handlers/userAttributeProfiles.tests.js: change expected output from null to empty array
- src/tools/auth0/handlers/clientGrants.ts: add optional is_system field to ClientGrant type
- src/tools/auth0/handlers/clientGrants.ts: include is_system in stripUpdateFields
- src/tools/auth0/handlers/clientGrants.ts: filter out system clients in filterGrants function
- src/tools/auth0/handlers/resourceServers.ts: include is_system in stripUpdateFields
@kushalshit27 kushalshit27 marked this pull request as ready for review November 20, 2025 14:06
@kushalshit27 kushalshit27 requested a review from a team as a code owner November 20, 2025 14:06
@codecov-commenter
Copy link

codecov-commenter commented Nov 20, 2025

Codecov Report

❌ Patch coverage is 65.98639% with 50 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.65%. Comparing base (ef0b2b6) to head (ea502d1).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
src/context/directory/handlers/clients.ts 25.00% 0 Missing and 12 partials ⚠️
src/tools/auth0/handlers/clients.ts 62.06% 0 Missing and 11 partials ⚠️
src/context/yaml/handlers/clients.ts 50.00% 0 Missing and 9 partials ⚠️
src/tools/auth0/handlers/connectionProfiles.ts 62.50% 6 Missing and 3 partials ⚠️
src/tools/auth0/handlers/userAttributeProfiles.ts 69.23% 2 Missing and 2 partials ⚠️
...c/context/directory/handlers/connectionProfiles.ts 87.50% 1 Missing and 2 partials ⚠️
src/context/yaml/handlers/connectionProfiles.ts 83.33% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1204      +/-   ##
==========================================
- Coverage   80.00%   79.65%   -0.35%     
==========================================
  Files         134      137       +3     
  Lines        5290     5421     +131     
  Branches     1079     1122      +43     
==========================================
+ Hits         4232     4318      +86     
- Misses        594      601       +7     
- Partials      464      502      +38     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…uration

- src/tools/auth0/handlers/clients.ts: return early if no clients have express configuration
- test/context/directory/clients.test.js: add tests for dumping clients with express_configuration
- test/context/yaml/clients.test.js: add tests for dumping clients with express_configuration
- test/tools/auth0/handlers/clients.tests.js: add test for creating client with express_configuration
- test/context/directory/connectionProfiles.test.js: add tests for processing and dumping connectionProfiles
- test/context/yaml/connectionProfiles.test.js: add tests for processing and dumping connectionProfiles
- test/tools/auth0/handlers/connectionProfiles.tests.js: add tests for connectionProfiles handler functionality
@kushalshit27 kushalshit27 merged commit fb9c130 into master Nov 21, 2025
5 checks passed
@kushalshit27 kushalshit27 deleted the DXCDT-1281-superfed branch November 21, 2025 07:58
This was referenced Nov 21, 2025
mgyarmathy pushed a commit to mgyarmathy/auth0-deploy-cli that referenced this pull request Dec 2, 2025
mgyarmathy pushed a commit to mgyarmathy/auth0-deploy-cli that referenced this pull request Dec 2, 2025
kushalshit27 added a commit that referenced this pull request Dec 16, 2025
* 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

---------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants