Skip to main content

Version: latest

Configure the Developer Portal

After deploying the Developer Portal, configure portal settings from the Provider Portal to control access, authentication, and developer management.

Portal Settings

Portal settings are managed in the Provider Portal under each portal's Settings page. The settings are organized into the following sections.

Public Access

The Public Access toggle controls whether the Developer Portal is accessible to unauthenticated users:

  • Enabled: Unauthenticated visitors can browse the API Hub and view public API products.
  • Disabled: All visitors must authenticate before accessing any portal content.

Portal Tokens

Portal tokens authenticate the Developer Portal application with the Portal API. Each token has the prefix a7prt and can be configured with an expiration date.

OperationDescription
GenerateCreate a new token with a name and optional expiration date. The token value is shown only at creation time.
RenameUpdate the display name of a token.
RegenerateGenerate a new token value, invalidating the previous one. Update the Developer Portal config.yaml with the new token and restart the application.
DeleteRemove a token. If the Developer Portal is using this token, it will lose connectivity to the Portal API.
caution

After regenerating or deleting a token, update the config.yaml on the Developer Portal host and restart the application. The portal will not function correctly without a valid token.

Built-in Authentication

The built-in authentication option controls email-and-password registration and login on the Developer Portal.

SettingDescription
Enable self-registrationWhen enabled, developers can sign up directly on the Developer Portal. When disabled, developers can only be added through invitation or external identity providers.
Registration auto-approvalWhen enabled, new developer accounts are immediately active. When disabled, administrators must approve each registration in the Provider Portal.
Login with emailWhen enabled, developers can log in using their email address.

The built-in authentication option can be enabled or disabled entirely. Disabling it removes the email/password login option from the Developer Portal. At least one login option (built-in or SSO) must remain enabled.

SSO (External Login Options)

You can configure external identity providers as additional login options for the Developer Portal. These are managed separately from the built-in authentication. See Configure SSO for the Developer Portal for detailed instructions.

SCIM Provisioning

SCIM (System for Cross-domain Identity Management) enables automatic user synchronization from an external identity provider. When enabled, user accounts are automatically created, updated, and deactivated in the Developer Portal based on changes in the identity provider.

To enable SCIM:

  1. Navigate to the portal's Settings page.
  2. Enable SCIM Provisioning.
  3. Generate a SCIM token for configuring the identity provider.
  4. Configure the identity provider (such as Okta) with the SCIM endpoint URL and token.

The SCIM endpoint follows the format:

https://<PORTAL_DOMAIN>/api/auth/scim/v2

Application Configuration

The following settings are configured in the Developer Portal's config.yaml file and require a restart to take effect.

Portal API Connection

config.yaml
portal:
url: https://<CONTROL_PLANE_HOST>:4321 # Portal API endpoint
token: a7prt-xxxxxxxxxxxx # Portal token from Provider Portal

Database

config.yaml
db:
url: "postgres://user:password@host:5432/dbname"

The Developer Portal uses a PostgreSQL-compatible database for storing user sessions, authentication data, and organization information.

Authentication Secret

config.yaml
auth:
secret: "<base64-encoded-secret>"

This secret is used to sign authentication sessions. Generate it with:

openssl rand -base64 32

Application URLs

config.yaml
app:
name: "My Developer Portal" # Displayed in browser title and header
desc: "API documentation portal" # Used for SEO meta description
baseURL: "https://portal.example.com"
trustedOrigins:
- "https://portal.example.com"

Environment Variable Substitution

Configuration values support environment variable substitution:

SyntaxBehavior
${VAR}Required. Fails if the variable is not set.
${VAR:default}Optional. Uses the default value if the variable is not set.

Example:

config.yaml
portal:
url: ${PORTAL_API_URL}
token: ${PORTAL_TOKEN}
auth:
secret: ${AUTH_SECRET}

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 – 2026. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the Apache Software Foundation