Authentication and Session Module Configuration Details
This appendix includes configuration details for authentication modules described here: "Supported Authentication and Session Modules".
Authentication modules, as configured in the authentication.json file, include a number of properties. Except for the "OPENAM_SESSION Module Configuration Options", Those properties are listed in the following tables:
| Authentication Property | Property as Listed in the Admin UI | Description |
|---|---|---|
|
(not shown) |
Used by the Jetty Web server to service SSL requests. |
|
(not shown) |
Defaults to |
|
(not shown) |
Defaults to |
|
(not shown) |
Defaults to |
|
(not shown) |
Defaults to |
|
Max Token Life (in seconds) |
Maximum time before a session is cancelled. Note the different units for the property and the UI. |
|
Token Idle Time (in seconds) |
Maximum time before an idle session is cancelled. Note the different units for the property and the UI. |
|
Session Only |
Whether the session continues after browser restarts. |
| Authentication Property | Property as Listed in the Admin UI | Description |
|---|---|---|
|
Module Enabled |
Does OpenIDM use the module |
|
Query on Resource |
Endpoint hard coded to user |
|
Static User Name |
Default for the static user, |
|
Static User Password |
Default for the static user, |
|
Static User Role |
Normally set to |
The following table applies to several authentication modules:
-
Managed User -
Internal User -
Client Cert -
Passthrough -
IWAThe IWA module includes several Kerberos-related properties listed at the end of the table.
| Authentication Property | Property as Listed in the Admin UI | Description |
|---|---|---|
|
Module Enabled |
Does OpenIDM use the module |
|
Query on Resource |
Endpoint to query |
|
Use Query ID |
A defined |
|
Default User Roles |
Normally blank for managed users |
|
Authentication ID |
Defines how account credentials are derived from a |
|
User Credential |
Defines how account credentials are derived from a |
|
User Roles |
Defines how account roles are derived from a |
|
Group Membership |
Provides more information for calculated roles |
|
Group Role Mapping |
Provides more information for calculated roles |
|
Group Comparison Method |
Provides more information for calculated roles |
|
Managed User Link |
Applicable mapping (Passthrough module only) |
|
Augment Security Context |
Includes a script that is executed only after a successful authentication request. |
|
Kerberos Service Principal |
(IWA only) For more information, see "Configuring IWA Authentication" |
|
Keytab File Name |
(IWA only) For more information, see "Configuring IWA Authentication" |
|
Kerberos Realm |
(IWA only) For more information, see "Configuring IWA Authentication" |
|
Kerberos Server Name |
(IWA only) For more information, see "Configuring IWA Authentication" |
OPENAM_SESSION Module Configuration Options
The OPENAM_SESSION module uses OpenAM authentication to protect an OpenIDM deployment.
The options shown in the screen are subdivided into basic and advanced properties. You may need to click Advanced Properties to review those details.
The following table describes the label that you see in the Admin UI, the default value (if any), a brief description, and the associated configuration file. If you need the property name, look at the configuration file.
The default values shown depict what you see if you use the OPENAM_SESSION module with the Full Stack Sample. For more information, see "Full Stack Sample - Using OpenIDM in the Open Identity Platform" in the Samples Guide.
| Admin UI Label | Default | Description | Configuration File |
|---|---|---|---|
Module Enabled |
false |
Whether to enable the module |
authentication.json |
Route to OpenAM User Datastore |
system/ldap/account |
External repository with OpenAM Data Store Information |
authentication.json |
OpenAM Deployment URL |
blank |
FQDN of the deployed instance of OpenAM |
authentication.json |
Require OpenAM Authentication |
false |
Whether to make the OpenIDM UI redirect users to OpenAM for authentication |
ui-configuration.json |
| Admin UI Label | Default | Description | Configuration File |
|---|---|---|---|
OpenAM Login URL |
FQDN of the login endpoint of the deployed instance of OpenAM |
ui-configuration.json |
|
OpenAM Login Link Text |
Login with OpenAM |
UI text that links to OpenAM |
ui-configuration.json |
Default User Roles |
openidm-authorized |
OpenIDM assigns such roles to the security context of a user |
authentication.json |
OpenAM User Attribute |
uid |
User identifier for the OpenAM data store |
authentication.json |
Authentication ID |
uid |
User identifier |
authentication.json |
User Credential |
blank |
Credential, sometimes a password |
authentication.json |
User Roles or Group Membership |
Select an option |
For an explanation, see "Common Module Properties". |
authentication.json |
Group Membership (if selected) |
ldapGroups |
Group Membership |
authentication.json |
Role Name |
openidm-admin |
Default role for the user, normally a group role mapping |
authentication.json |
Group Mappings |
cn=idmAdmins,ou=Groups,dc=example,dc=com |
Mapping from a user to a LDAP entry |
authentication.json |
TruststorePath Property Name |
truststorePath |
File path to the OpenIDM truststore |
authentication.json |
TruststorePath Property Type |
security/truststore |
Truststore file location, relative to /path/to/openidm |
authentication.json (from boot.properties) |
Augment Security Context |
Javascript |
Supports Javascript or Groovy |
authentication.json |
File Path |
auth/populateAsManagedUser.js |
Path to security context script, in the |
authentication.json |
In general, if you add a custom property, the Admin UI writes changes to the authentication.json or ui-configuration.json files.
SOCIAL_PROVIDERS Module Configuration Options
The SOCIAL_PROVIDERS module is a meta-module (template) that dynamically generates OPENID_CONNECT and OAUTH authentication modules at startup for supported providers registered in the IdentityProviderService. The identity provider configurations themselves (client IDs, client secrets, authorization endpoints, etc.) are defined in one conf/identityProvider-<name>.json file per provider, not inside the SOCIAL_PROVIDERS module entry. conf/identityProviders.json only holds the catalog of providers that the Admin UI offers; see "SOCIAL_PROVIDERS".
|
The |
| Admin UI Label | Default | Description | Configuration File |
|---|---|---|---|
Module Enabled |
true |
Controls whether the meta-module activates and generates child modules. If set to |
authentication.json |
Default User Roles |
openidm-authorized |
List of roles inherited by all generated |
authentication.json |
Method for Determining Roles |
User Roles Property |
How authorization roles are resolved. When set to |
authentication.json |
User Roles Property |
authzRoles |
The managed-object attribute used for authorization roles. Applies when Method for Determining Roles is set to |
authentication.json |
| Admin UI Label | Default | Description | Configuration File |
|---|---|---|---|
Use Query ID |
(blank) |
A defined |
authentication.json |
Augment Security Context — Type |
Javascript |
Script language for the augment security context script. Supports |
authentication.json |
Augment Security Context — File Path |
auth/populateAsManagedUserFromRelationship.js |
Path to the security context script, relative to the |
authentication.json |
OPENID_CONNECT Module Configuration Options
The OPENID_CONNECT module authenticates users via an OpenID Connect 1.0 provider. It exchanges an access token for user information from the provider’s userinfo endpoint, then maps the identity to an OpenIDM managed object.
The options shown in the Admin UI are subdivided into basic and advanced properties. You may need to click Advanced Properties to review those details.
The following table describes the label that you see in the Admin UI, the default value (if any), a brief description, and the associated configuration file. If you need the property name, look at the configuration file.
| Admin UI Label | Default | Description | Configuration File |
|---|---|---|---|
Module Enabled |
false |
Whether OpenIDM uses this module. |
authentication.json |
Well-Known Endpoint |
(blank) |
OIDC Discovery URL (for example, |
authentication.json |
Client ID |
(blank) |
OAuth 2.0 client ID registered with the OIDC provider. |
authentication.json |
Client Secret |
(blank) |
OAuth 2.0 client secret registered with the OIDC provider. |
authentication.json |
Scope |
openid |
OAuth 2.0 scopes to request. Must include |
authentication.json |
Authorization Endpoint |
(blank) |
Provider’s authorization endpoint URL. Can be omitted when Well-Known Endpoint is set. |
authentication.json |
Token Endpoint |
(blank) |
Provider’s token endpoint URL. Can be omitted when Well-Known Endpoint is set. |
authentication.json |
End Session Endpoint |
(blank) |
Provider’s end-session (logout) endpoint URL. Can be omitted when Well-Known Endpoint is set. |
authentication.json |
Sign-In Button HTML |
(default button HTML) |
HTML markup for the social login button displayed in the OpenIDM UI. |
authentication.json |
Query on Resource |
managed/user |
Managed object endpoint to query after token validation (for example, |
authentication.json |
Default User Roles |
openidm-authorized |
Roles assigned to all users who authenticate successfully through this module. |
authentication.json |
Authentication ID |
userName |
Attribute in the managed object used as the user identifier, matched against the claim returned from the provider’s userinfo endpoint. |
authentication.json |
Method for Determining Roles |
User Roles Property |
How OpenIDM determines the user’s roles after authentication (for example, |
authentication.json |
User Roles Property |
authzRoles |
Attribute in the managed object that holds the user’s authorization roles. |
authentication.json |
| Admin UI Label | Default | Description | Configuration File |
|---|---|---|---|
Use Query ID |
(blank) |
A defined query ID searches against the |
authentication.json |
OpenID Connect Header |
authToken |
Name of the HTTP header that carries the OpenID Connect ID token (JWT) provided by the client. |
authentication.json |
Augment Security Context |
(blank) |
Optional script executed after a successful authentication request, used to populate additional security context fields. Supports Javascript or Groovy. |
authentication.json |
OAUTH Module Configuration Options
The OAUTH module authenticates users via a generic OAuth 2.0 provider. It validates an OAuth 2.0 access_token by calling the provider’s userinfo_endpoint. For more information, see "OAUTH".
The options shown in the Admin UI are subdivided into basic and advanced properties. You may need to click Advanced Properties to review those details.
| Admin UI Label | Default | Description | Configuration File |
|---|---|---|---|
Module Enabled |
false |
Whether to enable the module |
authentication.json |
Client ID |
blank |
OAuth 2.0 client ID registered with the provider ( |
authentication.json |
Client Secret |
blank |
OAuth 2.0 client secret registered with the provider ( |
authentication.json |
Scope |
blank |
OAuth 2.0 scopes needed to access provider APIs ( |
authentication.json |
Authorization Endpoint |
Provider’s authorization endpoint URL ( |
authentication.json |
|
Token Endpoint |
Provider’s token endpoint URL ( |
authentication.json |
|
User Info Endpoint |
Provider’s userinfo endpoint URL ( |
authentication.json |
|
Authentication ID attribute for the User ID |
sub |
Attribute name in the provider’s userinfo response that contains the user identifier ( |
authentication.json |
Sign-In Button HTML |
(HTML button markup) |
HTML markup for the social login button displayed in the UI ( |
authentication.json |
Query on Resource |
managed/user |
Managed object endpoint to query after the token is validated against the provider ( |
authentication.json |
Default User Roles |
openidm-authorized |
Roles assigned to all users who authenticate successfully through this module ( |
authentication.json |
Authentication ID |
userName |
Attribute in the managed object used as the authentication identifier when querying the resource ( |
authentication.json |
Method for Determining Roles |
User Roles Property |
How roles are determined for the authenticated user ( |
authentication.json |
User Roles Property |
authzRoles |
Attribute in the managed object used for authorization roles ( |
authentication.json |
| Admin UI Label | Default | Description | Configuration File |
|---|---|---|---|
Use Query ID |
blank |
A defined |
authentication.json |
OAuth Token Header |
authToken |
Name of the HTTP request header that carries the OAuth 2.0 access token ( |
authentication.json |
OAuth Resolver Header |
provider |
Name of the HTTP request header that identifies the provider resolver to use ( |
authentication.json |
Augment Security Context |
JavaScript |
Type of script executed after a successful authentication request ( |
authentication.json |