Skip to content

Conversation

@developerkunal
Copy link
Contributor

🔧 Changes

This PR adds support for the Express Configuration feature (Superfed/OIN integration) to the go-auth0 SDK.

Types and methods added:

  • Added ExpressConfiguration field to Client struct for OIN integration support
  • Added IsSystem field to ClientGrant struct to identify system-managed grants
  • Added IsSystem field to ResourceServer struct to identify system-managed APIs
  • Generated getter methods for all new fields: GetExpressConfiguration(), GetIsSystem()

Functionality:

  • Clients can now be created with app_type: "express_configuration" for OIN apps
  • Regular web clients can include the express_configuration object for SSO/SCIM setup
  • Client grants and resource servers with is_system: true are properly identified as system-managed
  • Special handling for urn:auth0:express-configure resource server with predefined template

📚 References

  • Jira: SDK-7039
  • Feature: Okta Integration Network (OIN) Express Configuration
  • Related: Superfed authentication and provisioning capabilities

🔬 Testing

All functionality is covered by comprehensive tests:

  1. TestClient_ExpressConfiguration (4 tests):

    • Create Express Configuration client
    • Read Express Configuration client
    • Update regular web client with express_configuration object
    • Verify express_configuration object is preserved
  2. TestClientGrant_IsSystem (2 tests):

    • Verify user-created grants have is_system=false
    • Verify system grants are properly identified
  3. TestClientGrant_ExpressConfiguration (2 tests):

    • Verify Express Config clients automatically receive system grant
    • Verify system grant has is_system=true
  4. TestResourceServer_ExpressConfiguration (4 tests):

    • Create urn:auth0:express-configure resource server
    • Read and verify predefined template values
    • Verify update attempts are rejected (API enforces immutability)
    • Verify resource server appears in list with correct properties

HTTP recordings captured for all tests (playback mode tested successfully).

📝 Checklist

  • All new/changed/fixed functionality is covered by tests
  • I have added documentation for all new/changed functionality

- Add ExpressConfiguration field to Client struct for OIN integration
- Add IsSystem field to ClientGrant struct to identify system-managed grants
- Add IsSystem field to ResourceServer struct to identify system-managed APIs
- Add comprehensive tests for Express Configuration clients
- Add tests for is_system field in client grants
- Add tests for urn:auth0:express-configure resource server
- Generate getter methods for new fields

This change enables support for Okta Integration Network (OIN) Express
Configuration feature, allowing clients to be configured for SSO and SCIM
provisioning. System-managed grants and resource servers are now properly
identified with the is_system field.
@developerkunal developerkunal requested a review from a team as a code owner November 14, 2025 07:02
@developerkunal developerkunal changed the base branch from main to v1 November 14, 2025 07:02
@developerkunal developerkunal changed the title [Superfed] go-auth0 SDK Support feat: [Superfed] go-auth0 SDK Support Nov 14, 2025
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.70%. Comparing base (1c9c68b) to head (3d7c086).

Additional details and impacted files
@@            Coverage Diff             @@
##               v1     #652      +/-   ##
==========================================
+ Coverage   96.68%   96.70%   +0.01%     
==========================================
  Files          62       62              
  Lines       10654    10710      +56     
==========================================
+ Hits        10301    10357      +56     
  Misses        235      235              
  Partials      118      118              

☔ 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.

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.

3 participants