deployment

No menu items for this category

Setting up Any Oidc Provider

Security requirements for your production environment:

  • DELETE the admin default account shipped by OM in case you had Basic Authentication enabled before configuring the authentication with Auth0 SSO.
  • UPDATE the Private / Public keys used for the JWT Tokens. The keys we provide by default are aimed only for quickstart and testing purposes. They should NEVER be used in a production installation.

This guide provides instructions on setting up OpenID Connect (OIDC) configuration for your application. OpenID Connect is a simple identity layer built on top of the OAuth 2.0 protocol that allows clients to verify the identity of the end-user. Below configurations are universally applicable to all SSO provider like Google, Auth0, Okta, Keycloak, etc.

Below are the configuration types to set up the OIDC Authentication with a Confidential Client type:

Configuration Parameters

This needs to be updated as per different SSO providers. The default value is http://localhost:8585/api/v1/system/config/jwks. This is the URL where the public keys are stored. The public keys are used to verify the signature of the JWT token.

Google: https://www.googleapis.com/oauth2/v3/certs

Okta: https://dev-19259000.okta.com/oauth2/aus5836ihy7o8ivuJ5d7/v1/keys

Auth0: https://dev-3e0nwcqx.us.auth0.com/.well-known/jwks.json

Azure: https://login.microsoftonline.com/{tenant}/discovery/v2.0/keys

Also if you have enabled JWT Tokens then http://localhost:8585/api/v1/system/config/jwks also needs to be there in the list with proper server url.

The client ID provided by your OIDC provider. This is typically obtained when you register your application with the OIDC provider.

Specify the type of OIDC provider you are using (e.g., google, azure). This value is same as provider in authenticationConfiguration.

Replace with the client secret provided by your OIDC provider.

Define the scopes that your application requests during authentication. Update ${OIDC_SCOPE:-"openid email profile"} with the desired scopes.

Provide the URL of the OIDC provider's discovery document. This document contains metadata about the provider's configuration.

It is mostly in the format as below: https://accounts.google.com/.well-known/openid-configuration

Google: https://accounts.google.com/.well-known/openid-configuration

Okta: https://dev-19259000.okta.com/oauth2/aus5836ihy7o8ivuJ5d7/.well-known/openid-configuration

Auth0: https://dev-3e0nwcqx.us.auth0.com/.well-known/openid-configuration

Azure: https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration

Normally it's some initial SSO provider URL followed by .well-known/openid-configuration

Set to true by Default, if you want to use nonce for replay attack protection during authentication. This does not need to be changed.

Specify the preferred JSON Web Signature (JWS) algorithm. Default is RS256 and need not be changed .

Define the response type for the authentication request. Default is code and need not be changed.

Set ${OIDC_DISABLE_PKCE:-true} to true if you want to disable Proof Key for Code Exchange (PKCE). If you want to send CodeVerifier and CodeChallenge in the request, set it to false.

Provide the callback URL where the OIDC provider redirects after authentication. Update ${OIDC_CALLBACK:-"http://localhost:8585/callback"} with your actual callback URL.

The only initial part of the URL should be changed, the rest of the URL should be the same as the default one. The default URL is http://localhost:8585/callback. Also, this should match what you have configured in your OIDC provider.

Specify the URL of your OM Server. Default is http://localhost:8585.

Define the method used for client authentication. Default is client_secret_post.

This does not need to be changed in most cases. The default value is client_secret_post. This method is used to send the client ID and client secret in the request body. Another possible value is client_secret_basic, which sends the client ID and client secret in the Authorization header. Depending on the OIDC provider, you may need to change this value if only one of them is supported.

If applicable, specify the tenant ID for multi-tenant applications. Example in case of Azure.

This is only applicable for multi-tenant applications. If you are using a single tenant application, you can leave this field empty. For Azure SSO Provider this may be needed.

Define the maximum acceptable clock skew between your application server and the OIDC server.

If you have any additional custom parameters required for OIDC configuration, specify them here.