Skip to main content

Version: 3.8.x

Support Developer Portal SSO

API7 Developer Portal supports Single Sign-On (SSO) to provide a seamless and secure login experience. This enhances usability and security by allowing users to authenticate through your organization’s Identity Provider (IdP).

SSO is typically not recommended for public developers, as it would require them to have accounts within your organization’s IdP. The Developer Portal’s SSO configuration is separate from the API7 Dashboard SSO, which is used to log in and manage API7 Enterprise settings such as gateway configurations and API providers.

Create a Login Option

API7 Developer Portal supports Single Sign-On (SSO) using multiple protocols. By integrating with existing user systems, it allows internal developers to access API7 Developer Portal without creating a new account.

IdP Configuration

This section describes configuration in Keycloak 26.3.3. If you are using a different version of Keycloak or a different identity provider (IdP), refer to your IdP's documentation and adjust the configuration accordingly.

  1. Create a realm, for example quickstart-realm.
  2. Create a client, for example apisix-quickstart-client. In the client:
    1. Enable client authentication, which sets the access type to be confidential.
    2. Enable standard flow (authorization code grant).
    3. Configure the redirect URL, for example *.
    4. After creating the client, navigate to the Credentials tab and obtain the client secret. Record this value for later use.
  3. Create a user. In the user:
    1. Create a user password.
    2. Configure the user email, first name, and last name as needed.
  4. In the realm settings, find the link to the discovery document. In the discovery document, record these values for later use:
    1. The issuer URL, for example, http://192.168.10.101:8080/realms/quickstart-realm.
    2. The end_session_endpoint URL, for example, http://192.168.10.101:8080/realms/quickstart-realm/protocol/openid-connect/logout.

API7 Developer Portal Configuration

  1. Select Organization from the top navigation bar, then choose Settings.
  2. Click Add Login Option.
  3. Fill in the configuration:
  • Name: The unique login name. The name should be identifiable for users. For example, if you configure the name to be Employee Account, you will see Login with Employee Account option in the Dashboard login page.
  • Provider: Choose OIDC.
  • Issuer: The issuer URL of the OpenID Connect provider, for example, http://192.168.10.101:8080/realms/quickstart-realm.
  • Client ID: The unique identifier of your application assigned by the OIDC provider, for example apisix-quickstart-client.
  • Client Secret: Secret key used for authentication assigned by the OIDC provider.
  • Request Scope: Scope values requested from the OIDC provider, which define the level of access and the claims included in the tokens. The openid scope is mandatory for all OIDC requests. Additional scopes can be included as needed, separated by spaces. For example, openid profile email.
  • Root URL: The root address through which users access the API7 Developer Portal, for example, https://api7-portal.your-company.com. This URL must exactly match what users enter in their browsers, including the protocol (HTTP or HTTPS) and the port number if it differs from the standard ports (80 or 443).
    • The callback URL will be automatically generated as <Root_URL>/api/oidc/<LOGIN_OPTION_ID>/callback.
  • SSL verify: Whether the OIDC provider’s SSL/TLS certificate should be validated.
  • Logout URL: The URL that ends the user session and redirects them to the sign-in page. This should be the end_session_endpoint URL with the post_logout_redirect_uri query parameter set to the API7 Developer Portal URL, for example http://192.168.10.101:8080/realms/quickstart-realm/protocol/openid-connect/logout?post_logout_redirect_uri=https://api7-portal.your-company.com.
  • Attributes Mapping: API7 user fields mapping to OIDC claims. For example:
    • username: preferred_username
    • email: email
    • name: name
  1. Click Add.

A new login option should now appear on the Developer Portal login page, allowing users to authenticate with the IdP.

Synchronize User Data from IdP (SCIM)

SCIM (System for Cross-domain Identity Management) is a protocol that can be used to synchronize user and group information from an Identity Provider (IdP) to API7 Developer Portal. This eliminates the need to manually manage users and groups across multiple systems, saving time and reducing the risk of errors.

With SCIM Provisioning, API7 Developer Portal automatically synchronizes user data whenever a new user is registered or deleted in your IdP.

  1. Select Organization from the top navigation bar, then choose Settings.
  2. Enable SCIM Provisioning.
  3. Copy the API7 SCIM Endpoint URL and SCIM Token.
  4. Configure SCIM in your IdP, if supported.

Delete a Login Option

warning

Deleting a login option will remove all users associated with that option in Developer Portal.

  1. Select Organization from the top navigation bar, then choose Users.
  2. Check if any users are still using this login option. If so, notify them before making any changes.
  3. Select Organization from the top navigation bar, then choose Settings.
  4. Click Delete of the target login option.

Additional Resources

API7.ai Logo

The digital world is connected by APIs,
API7.ai exists to make APIs more efficient, reliable, and secure.

Sign up for API7 newsletter

Product

API7 Gateway

SOC2 Type IIISO 27001HIPAAGDPRRed Herring

Copyright © APISEVEN PTE. LTD 2019 – 2025. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the Apache Software Foundation