Skip to content

Added support for SSO-FF#702

Merged
tanya732 merged 4 commits intomasterfrom
sdk-5652-support-for-SSO-FF-for-auth0-java
Mar 27, 2025
Merged

Added support for SSO-FF#702
tanya732 merged 4 commits intomasterfrom
sdk-5652-support-for-SSO-FF-for-auth0-java

Conversation

@tanya732
Copy link
Contributor

@tanya732 tanya732 commented Feb 21, 2025

Changes

Added new classes -

  • DomainAliasesConfig
  • EnabledOrganizations
  • SsoAccessTicketRequest

References

https://oktawiki.atlassian.net/wiki/spaces/Bacca/pages/3198158797/SS-SSO+-+Endpoint+Changes+DX+Focus
https://auth0.com/docs/api/management/v2/self-service-profiles/post-sso-ticket

Sample Code

  1. Create Management API instance using domain and token.

  2. Create SsoAccessTicketRequest request with required details

  3. Use method api.selfServiceProfiles().createSsoAccessTicket().execute()

      api = ManagementAPI.newBuilder(domain, accessToken).build();
    
      Map<String, Object> connectionConfig = new HashMap<>();
      connectionConfig.put("name", "okta");
      connectionConfig.put("display_name", "okta connection");
      connectionConfig.put("is_domain_connection", true);
      connectionConfig.put("show_as_button", true);
      connectionConfig.put("metadata", new HashMap<>());
    
      Map<String, Object> idpInitiated = new HashMap<>();
      idpInitiated.put("enabled", true);
      idpInitiated.put("client_id", "<ClientID>");
      idpInitiated.put("client_protocol", "oauth2");
      idpInitiated.put("client_authorizequery", "response_type=code&scope=openid%20profile%20email");
    
      Map<String, Object> options = new HashMap<>();
      options.put("idpinitiated", idpInitiated);
      options.put("icon_url", "https://cdn.auth0.com/connections/okta.png");
      options.put("domain_aliases", new ArrayList<String>() {{
          add("okta.com");
      }});
    
      connectionConfig.put("options", options);
    
      SsoAccessTicketRequest ssoAccessTicketRequest = new SsoAccessTicketRequest();
      ssoAccessTicketRequest.setConnectionConfig(connectionConfig);
      ssoAccessTicketRequest.setEnabledClients(new ArrayList<String>() {{
          add(<ClientID>);
      }});
    
      EnabledOrganizations enabledOrganizations = new EnabledOrganizations();
      enabledOrganizations.setOrganizationId(<OrgID>);
      enabledOrganizations.setAssignMembershipOnLogin(true);
      enabledOrganizations.setShowAsButton(true);
    
      ssoAccessTicketRequest.setEnabledOrganizations(new ArrayList<EnabledOrganizations>() {{
          add(enabledOrganizations);
      }});
    
      ssoAccessTicketRequest.setTtlSec(0);
    
      SsoAccessTicketResponse ssoAccessTicketResponse = api.selfServiceProfiles().createSsoAccessTicket(<ID>, 
     ssoAccessTicketRequest).execute().getBody();
      
    

Testing

Please describe how this can be tested by reviewers. Be specific about anything not tested and reasons why. If this library has unit and/or integration testing, tests should be added for new functionality and existing tests should complete without errors.

  • This change adds test coverage
  • This change has been tested on the latest version of the platform/language or why not

Checklist

@tanya732 tanya732 requested a review from a team as a code owner February 21, 2025 07:47
@tanya732 tanya732 merged commit 3062e2a into master Mar 27, 2025
6 checks passed
@tanya732 tanya732 deleted the sdk-5652-support-for-SSO-FF-for-auth0-java branch March 27, 2025 05:28
@tanya732 tanya732 mentioned this pull request Mar 28, 2025
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.

2 participants