Enable OpenID Connect in the Dev Portal
must be used with the method, utilizing cookies for Dev Portal File API requests.
In addition, a configuration object is required to enable OIDC. Refer to the Sample Configuration Object section of this document for more information.
Note: The Dev Portal does not automatically create developer accounts on login via OIDC. A developer account matching the consumer_claim
configuration parameter has to be created and approved (if auto approve is not enabled) beforehand.
OIDC for the Dev Portal can be enabled in one of the following ways:
Session Plugin Config does not apply when using OpenID Connect.
The placeholders above should be replaced with your actual values:
<CLIENT_ID>
- Client ID provided by IdP
See the documentation of the OpenID Connect plugin for more information.
Important: The redirect_uri
needs to be configured as an allowed URI in the IdP. If not set explicitly in the configuration object, the URI default is http://localhost:8004/<WORKSPACE_NAME>/auth
.
If and portal_api_url
are set to share a domain but differ with regard to subdomain, redirect_uri
and session_cookie_domain
need to be configured to allow OpenID Connect to apply the session correctly.
Example:
- Navigate to the Dev Portal’s Settings page.
- Find Authentication plugin under the Authentication tab.
- Select OpenId Connect from the drop down.
- Select Custom from the Auth Config (JSON) field drop down.
- Click Save Changes.
You can use the Kong Admin API to set up Dev Portal Authentication. To patch a Dev Portal’s authentication property directly, run:
Warning When Dev Portal Authentication is enabled, content files will remain unauthenticated until a role is applied to them. The exception to this is
settings.txt
anddashboard.txt
which begin with the*
role. Please visit the section for more info.
Kong allows for a default authentication plugin
to be set in the Kong configuration file with the portal_auth
property.
In your file, set the property as follows:
Then set the portal_auth_conf
property to your customized Configuration JSON Object.