search-filter
to '(sAMAccountName={0})'
.LDAP | Conduktor Console |
---|---|
uid | User ID, used to log in |
mail , email or userPrincipalName | User email (The only mandatory field) |
cn | User name |
sn | User family name |
givenName | User first name |
displayName | User display name |
groups-enabled
to true
, and populate the attributes groups-base
and groups-filter
.
Note that depending on your LDAP objectClass
, the attribute used to filter groups might be changed. For example:
LDAP objectClass | Conduktor groups-filter |
---|---|
groupOfNames | "member={0}" |
groupOfUniqueNames | "uniqueMember={0}" |
groups-base
).
sso.trustedCertificates
.
client ID
, client secret
and domain
:
http(s)://<Console host>(:<Console port>)/oauth/callback/<OAuth2 config name>
. For example, if you deployed Console locally using the name auth0
in your configuration file, you can use http://localhost:8080/oauth/callback/auth0
.
client ID
, client secret
and domain
with values from step 2 above.
Conduktor Console
and enter the redirect URI as the following: http(s)://<Console host>(:<Console port>)/oauth/callback/<OAuth2 config name>
. For example, if you deployed Console locally using the name cognito
in your configuration file, you can use http://localhost:8080/oauth/callback/cognito
.
Confidential client
.
profile
, email
and openid
in the Advanced app settings:user pool ID
, client ID
, and client secret
, that you’ll use in the configuration file of Consolehttps://cognito-idp.<region>.amazonaws.com/<user pool ID>/.well-known/openid-configuration
.client ID
, client secret
, region
, and pool ID
, with what you got during step 4.
external groups mapping
to map groups between your Conduktor Console instance and Amazon Cognito, you must set the property groups-claim
to "cognito:groups"
in Console configuration file. Below is the full snippet for your configuration file:
Object ID
of the Amazon Cognito group.
App registrations
and set the callback URIConduktor Console
, and enter the redirect URI as the following: http(s)://<Console host>(:<Console port>)/oauth/callback/<OAuth2 config name>
.
For example, if you deployed Console locally using the name azure
in your configuration file, you can use http://localhost:8080/oauth/callback/azure
, like on the screenshot below.
Value
somewhere safe, as you will not have access to it again.client ID
and tenant ID
in the Overview tabhttps://login.microsoftonline.com/<tenant ID>/v2.0/.well-known/openid-configuration
.external groups mapping
to map groups between your Conduktor Console instance and Azure, you must add this claim to your Azure application in the Token configuration tab:
groups-claim
to "groups"
in the Console configuration file. Below is the full snippet for your configuration file:
Object ID
of the Azure AD group.
email
, profile
, and openid
. Optionally, you need read only
for external group mapping.
Internal
user type in the OAuth consent screen.OAuth client ID
Conduktor Console
, and enter the redirect URI like this: http(s)://<Console host>(:<Console port>)/oauth/callback/<OAuth2 config name>
.
For example, if you deployed Console locally using the name google
in your configuration file, you can use http://localhost:8080/oauth/callback/google
, like on the screenshot below.
client ID
and the secret ID
https://accounts.google.com/.well-known/openid-configuration
.If you need to add an authorized domain to your Google account, you can follow this guide.https://www.googleapis.com/auth/cloud-identity.groups.readonly
is required if you want to sync Google Group with Conduktor Groups.
email
address of the Google Group.
SSO Applications
.
Custom Application
as shown below.
Manage Single Sign-On (SSO)
, then Configure SSO with OIDC
and Export users to this app (Identity Management)
as seen in the screenshot below.
conduktor
as seen in the screenshot below and configure this application.
Redirect URI(s)
, Login URL
and the client authentication type.http(s)://<Console host>:<Console port>/oauth/callback/<OAuth2 config name>
.
For example, if you deployed Console locally using the name jumpcloud
in your configuration file, you can use
https://localhost:8080/oauth/callback/jumpcloud
, as seen in the screenshot below.
Enter the Login URL, which is the URL users need to log into this application. In the example below, this is https://localhost:8080
.
For the Client Authentication Type make sure to select the Client Secret Basic option.
Client ID
and Client Secret
.Client ID
and Client Secret
, be sure to save these somewhere safe.
Client Secret
somewhere safe, as you will not have access to it again.https://oauth.id.jumpcloud.com/
as shown here
external groups mapping
to map groups between your Conduktor Console instance and JumpCloud:
From the JumpCloud side, ensure you have:
Email
and Profile
under the standard scopesemail_verified
to truegroup attribute
as in the groups-claim
or CDK_SSO_OAUTH2_0_GROUPS-CLAIM
value of your Console’s configurationgroups-claim
to "groups"
in the Console configuration file.
Below is the full snippet for your configuration file:
client ID
http(s)://<Console host>(:<Console port>)/oauth/callback/<OAuth2 config name>
For example, if you deployed Console locally using the name keycloak
in your configuration file, you can use http://localhost:8080/oauth/callback/keycloak
, like in the screenshot below.
client secret
in the Credentials tabhttp://<Keycloak host>:<Keycloak port>/realms/<realm name>/.well-known/openid-configuration
.external groups mapping
to map groups between your Conduktor Console instance and Keycloak, you must create a scope and add it to your Keycloak application:
groups-claim
to "groups"
in the Console configuration file. Below is the full snippet for your configuration file:
Full group path
in the mapper details of the scope, you will need to use the full path instead of the name of the group.http(s)://<Console host>(:<Console port>)/oauth/callback/<OAuth2 config name>
.
For example, if you deployed Console locally using the name okta
in your configuration file, you can use http://localhost:8080/oauth/callback/okta
, like in the screenshot below.
client ID
and client secret
, that you’ll use in the configuration file of Consoleissuer URL
in the Sign On tab of your application. It’s made like https://<domain>.okta.com
https://<domain>.okta.com/.well-known/openid-configuration
.client ID
, client secret
and domain
, with what you got during steps 4 and 5.
https://<yourOktaDomain>/oauth2/<authorizationServerId>/
rather than https://<domain>.okta.com
. Find out more about token customization.CLIENT_SECRET_BASIC
authentication method.
redirect URI
or callback URI
.
The redirect URI will look like this:http(s)://<Console host>(:<Console port>)/oauth/callback/<OAuth2 config name>
Where <Console host>
and <Console port>
depend on the Console external URL used and/or configured, and <OAuth2 config name>
is the name of the OAuth2 configuration in your Console configuration file see Console configuration step.
CDK_PLATFORM_EXTERNAL_URL
or configuration platform.external.url
, it will use it.Forwarded
header. This is the preferred method if you are using a reverse proxy in front of Console.
It uses the host
and proto
directives (if set) of Forwarded
header to determine the external URL.X-Forwarded-*
headers. Support for the non-standard forwarded headers coming from some reverse proxy implementations.
It uses the X-Forwarded-Proto
, X-Forwarded-Host
and X-Forwarded-Port
headers to determine the external URL.Host
header. Used if you access to Console directly, without a reverse proxy.
In this case, the Host
header (generally set by the browser) will be used to determine the external URL.Host
header and fallback to Console configured port using environment variable CDK_LISTENING_PORT
(default to 8080
).http
).sso.oauth2.name
: the name of the OAuth2 configuration. This name will be used in the redirect URI defined on your provider in the steps before. It must be unique.sso.oauth2.client-id
: the client ID of your OAuth2 application.sso.oauth2.client-secret
: the client secret of your OAuth2 application.sso.oauth2.openid.issuer
: the issuer URL of your OpenID Connect provider. This url is used to discover the provider configuration using the .well-known/openid-configuration
path.sso.oauth2.scopes
: the list of scopes to request during the authorization code flow. See OAuth2 configuration for details.https://<oidc domain>/.well-known/openid-configuration
. Here’s an example of a configuration file for a generic OIDC provider.
Property | Description | Environment variable | Mandatory | Type | Default |
---|---|---|---|---|---|
sso.ignoreUntrustedCertificate | Disable SSL checks | CDK_SSO_IGNOREUNTRUSTEDCERTIFICATE | false | boolean | false |
sso.trustedCertificates | SSL public certificates for SSO authentication (LDAPS and OAuth2) as PEM | CDK_SSO_TRUSTEDCERTIFICATES | false | string | ∅ |
Property | Description | Environment variable | Mandatory | Type | Default |
---|---|---|---|---|---|
sso.oauth2[].name | OAuth2 connection name | CDK_SSO_OAUTH2_0_NAME | true | string | ∅ |
sso.oauth2[].default | Use as default | CDK_SSO_OAUTH2_0_DEFAULT | true | boolean | ∅ |
sso.oauth2[].client-id | OAuth2 client ID | CDK_SSO_OAUTH2_0_CLIENTID | true | string | ∅ |
sso.oauth2[].client-secret | OAuth2 client secret | CDK_SSO_OAUTH2_0_CLIENTSECRET | true | string | ∅ |
sso.oauth2[].openid.issuer | Issuer to check on token | CDK_SSO_OAUTH2_0_OPENID_ISSUER | true | string | ∅ |
sso.oauth2[].scopes | Scopes to be requested in the client credentials request | CDK_SSO_OAUTH2_0_SCOPES | true | string | [] |
sso.oauth2[].groups-claim | Group attribute from your identity provider | CDK_SSO_OAUTH2_0_GROUPSCLAIM | false | string | ∅ |
sso.oauth2[].username-claim | Email attribute from your identity provider | CDK_SSO_OAUTH2_0_USERNAMECLAIM | false | string | email |
sso.oauth2[].allow-unsigned-id-tokens | Allow unsigned ID tokens | CDK_SSO_OAUTH2_0_ALLOWUNSIGNEDIDTOKENS | false | boolean | false |
sso.oauth2[].preferred-jws-algorithm | Configure preferred JWS algorithm | CDK_SSO_OAUTH2_0_PREFERREDJWSALGORITHM | false | string one of: “HS256”, “HS384”, “HS512”, “RS256”, “RS384”, “RS512”, “ES256”, “ES256K”, “ES384”, “ES512”, “PS256”, “PS384”, “PS512”, “EdDSA” | ∅ |
sso.oauth2-logout | Wether the central identity provider logout should be called or not | CDK_SSO_OAUTH2LOGOUT | false | boolean | true |
Property | Description | Environment variable | Mandatory | Type | Default |
---|---|---|---|---|---|
sso.ldap[].name | Ldap connection name | CDK_SSO_LDAP_0_NAME | true | string | ∅ |
sso.ldap[].server | Ldap server host and port | CDK_SSO_LDAP_0_SERVER | true | string | ∅ |
sso.ldap[].managerDn | Sets the manager DN | CDK_SSO_LDAP_0_MANAGERDN | true | string | ∅ |
sso.ldap[].managerPassword | Sets the manager password | CDK_SSO_LDAP_0_MANAGERPASSWORD | true | string | ∅ |
sso.ldap[].search-subtree | Sets if the subtree should be searched. | CDK_SSO_LDAP_0_SEARCHSUBTREE | false | boolean | true |
sso.ldap[].search-base | Sets the base DN to search. | CDK_SSO_LDAP_0_SEARCHBASE | true | string | ∅ |
sso.ldap[].search-filter | Sets the search filter. By default, the filter is set to (uid={0}) for users using class type InetOrgPerson . | CDK_SSO_LDAP_0_SEARCHFILTER | false | string | "(uid={0})" |
sso.ldap[].search-attributes | Sets the attributes list to return. By default, all attributes are returned. Platform search for uid , cn , mail , email , givenName , sn , displayName attributes to map into user token. | CDK_SSO_LDAP_0_SEARCHATTRIBUTES | false | string array | [] |
sso.ldap[].groups-enabled | Sets if group search is enabled. | CDK_SSO_LDAP_0_GROUPSENABLED | false | boolean | false |
sso.ldap[].groups-subtree | Sets if the subtree should be searched. | CDK_SSO_LDAP_0_GROUPSSUBTREE | false | boolean | true |
sso.ldap[].groups-base | Sets the base DN to search from. | CDK_SSO_LDAP_0_GROUPSBASE | true | string | ∅ |
sso.ldap[].groups-filter | Sets the group search filter. If using group class type GroupOfUniqueNames use the filter "uniqueMember={0}" . For group class GroupOfNames use "member={0}" . | CDK_SSO_LDAP_0_GROUPSFILTER | false | string | "uniquemember={0}" |
sso.ldap[].groups-filter-attribute | Sets the name of the user attribute to bind to the group search filter. Defaults to the user’s DN. | CDK_SSO_LDAP_0_GROUPSFILTERATTRIBUTE | false | string | ∅ |
sso.ldap[].groups-attribute | Sets the group attribute name. Defaults to cn . | CDK_SSO_LDAP_0_GROUPSATTRIBUTE | false | string | "cn" |
sso.ldap[].properties | Additional properties that will be passed to identity provider context. | CDK_SSO_LDAP_0_PROPERTIES | false | dictionary | ∅ |