Pluggable Pass Through Authentication Plugin

The Pluggable Pass Through Authentication Plugin provides the ability for a local user to authenticate with a password from an account in an external service. Interaction with that service is controlled by a pass-through authentication handler. Only simple bind operations are supported.

Only one instance of this plugin may be active in the server at any time. It cannot be used in conjunction with other pass-through authentication plugins, including the original LDAP pass-through authentication plugin, the PingOne pass-through authentication plugin, or another instance of the pluggable pass-through authentication plugin. If you need multiple types of pass-through authentication active in the server at one time, use the aggregate pass-through authentication handler.
Depending on the configuration, the authentication may be attempted only in that external service (if try-local-bind is false), or it may be attempted locally first and only forwarded to the external service if the local attempt fails (if try-local-bind is true).
If local authentication is attempted first, it may optionally allow authentication even in cases where the local account is in certain unusable states (for example, if the user's password is expired or their account is locked as a result of too many failed attempts).
Also, if local authentication is attempted first, and if the authentication attempt ultimately succeeds in the external service, the local account may optionally be updated with the provided password.

Parent Component Relations from This Component Properties dsconfig Usage

Parent Component

The Pluggable Pass Through Authentication Plugin component inherits from the Plugin

Relations from This Component

The following components have a direct aggregation relation from Pluggable Pass Through Authentication Plugins:

Properties

The properties supported by this managed object are as follows:


Basic Properties: Advanced Properties:
 description  invoke-for-internal-operations
 enabled
 pass-through-authentication-handler
 included-local-entry-base-dn
 connection-criteria
 request-criteria
 try-local-bind
 override-local-password
 update-local-password
 update-local-password-dn
 allow-lax-pass-through-authentication-passwords
 ignored-password-policy-state-error-condition

Basic Properties

description

Description
A description for this Plugin
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

enabled

Description
Indicates whether the plug-in is enabled for use.
Default Value
None
Allowed Values
true
false
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

pass-through-authentication-handler

Description
The component used to manage authentication with the external authentication service.
Default Value
None
Allowed Values
The DN of any Pass Through Authentication Handler.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

included-local-entry-base-dn

Description
The base DNs for the local users whose authentication attempts may be passed through to the external authentication service. If one or more base DNs are specified, then only binds attempted by users at or below one of those base DNs may be passed through to the external authentication service.
If no base DNs are specified, then all public naming contexts will be used as the default set of base DNs.
Default Value
None
Allowed Values
A valid DN.
Multi-Valued
Yes
Required
No
Admin Action Required
None. Modification requires no further action

connection-criteria

Description
A reference to connection criteria that will be used to indicate which bind requests should be passed through to the external authentication service. If a connection criteria object is specified, then only bind requests from clients that match this criteria may be passed through to the external authentication service. If no connection criteria object is specified, then bind requests from any client may be passed through.
Default Value
None
Allowed Values
The DN of any Connection Criteria.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

request-criteria

Description
A reference to request criteria that will be used to indicate which bind requests should be passed through to the external authentication service. If a request criteria object is specified, then only bind requests that match this criteria may be passed through to the external authentication service. If no request criteria object is specified, then all bind requests may be passed through.
Default Value
None
Allowed Values
The DN of any Request Criteria.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

try-local-bind

Description
Indicates whether to attempt the bind in the local server first and only send the request to the external authentication service if the local bind attempt fails, or to only attempt the bind in the external service.
Default Value
true
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

override-local-password

Description
Indicates whether to attempt the authentication in the external service if the local user entry includes a password. This property will be ignored if try-local-bind is false. If this property has a value of false, then authentication attempts will only be forwarded to the external service for users who don't have a local password, and bind attempts for users with a local password will only be attempted locally. If this property has a value of true, then authentication attempts will be forwarded to the external service if the local attempt fails, even if the local entry has a password.
Default Value
true
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

update-local-password

Description
Indicates whether to overwrite the user's local password if the local bind fails but the authentication attempt succeeds when attempted in the external service. This property may only be set to true if try-local-bind is also true. If update-local-password is true, if the local bind attempt fails, and if the authentication attempt succeeds against the external service, then the local entry will be updated to set the user's password to the provided bind password. The local password will not be altered if the external authentication attempt fails. If the Data Sync Server will be used to synchronize passwords between the local server and the external service, then the 'update-local-password-dn' property should be set to a DN whose updates will be ignored by the Data Sync Server.
If update-local-password is false, if the local bind attempt fails, and if the external authentication attempt succeeds, then the LDAP bind operation will still be considered a success, but the user's local password will not be altered.
Default Value
false
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

update-local-password-dn

Description
The DN of the authorization identity that will be used when updating the user's local password if update-local-password is true. This is primarily intended for use if the Data Sync Server will be used to synchronize passwords between the local server and the external service, and in that case, the DN used here should also be added to the ignore-changes-by-dn property in the appropriate Sync Source object in the Data Sync Server configuration. This property can be used to help avoid a password update loop that may arise if the Data Sync Server is configured to synchronize password changes between the local server and the external authentication service, and if the Data Sync Server is configured to wipe out the password in the local server if it detects that the password has been changed in the external service.
With this property, the password wouldn't need to be wiped. This plugin would update the password as the DN used in this property, and then if the Data Sync Server is configured to ignore changes by the user with this DN, the password change wouldn't be synchronized to the external service after the bind, which would avoid the password being wiped in the local server.
The account used for this property must have access control permission to update the passwords for any users that may use pass-through authentication (or the bypass-acl privilege), and it must also have the password-reset privilege.
Default Value
None
Allowed Values
A valid DN.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

allow-lax-pass-through-authentication-passwords

Description
Indicates whether to overwrite the user's local password even if the password used to authenticate to the external service would have failed validation if the user attempted to set it directly. This property is only used if the try-local-bind and update-local-password properties both have values of true.
If this property has a value of true, if the local bind attempt fails, and if the authentication attempt to the external service succeeds, then the local password will be overwritten regardless of whether it would have passed the validation requirements of the local user's password policy.
If this property has a value of false, if the local bind attempt fails, and if the authentication attempt to the external service succeeds, then the local password will be overwritten only if it satisfies the requirements for all password validators in the local user's password policy. In that case, if the password from the external service does not meet local password policy constraints, then the bind attempt will fail.
Default Value
true
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

ignored-password-policy-state-error-condition

Description
A set of password policy state error conditions that should not be enforced when authentication succeeds when attempted in the external service. This option can only be used if try-local-bind is true.
Default Value
None
Allowed Values
temporarily-locked-due-to-failures - If this value is present, then it indicates that the user should be permitted to authenticate with a password from the external service even if their account is currently temporarily locked after too many failed authentication attempts. If this value is absent, then a user whose account is temporarily locked will not be permitted to authenticate until the lockout period expires, until the user's local password is reset by an administrator, or until the administrator manually unlocks the account.

permanently-locked-due-to-failures - If this value is present, then it indicates that the user should be permitted to authenticate with a password from the external service even if their account is currently permanently locked after too many failed authentication attempts. If this value is absent, then a user whose account is permanently locked will not be permitted to authenticate until their local password is reset by an administrator or until the administrator manually unlocks the account.

locked-due-to-idle-interval - If this value is present, then it indicates that the user should be permitted to authenticate with a password from the external service even if their account is locked because it has been unused for too long. If this value is absent, then a user whose account is idle-locked will not be permitted to authenticate until their local password is reset by an administrator or until the administrator manually unlocks the account.

locked-due-to-maximum-reset-age - If this value is present, then it indicates that the user should be permitted to authenticate with a password from the extneral service even if their account is locked because their password was reset by an administrator but they failed to choose a new password in a timely manner. If this value is absent, then a user whose account is reset-locked will not be permitted to authenticate until their local password is again reset by an administrator or until the administrator manually unlocks the account.

locked-due-to-validation-failure - If this value is present, then it indicates that the user should be permitted to authenticate with a password from the external service even if their account is locked because their password did not satisfy all of the configured password validators. If this value is absent, then a user whose account is validation-locked will not be permitted to authenticate until their local password is reset or until an administrator manually unlocks the account.

password-is-expired - If this value is present, then it indicates that the user should be permitted to authenticate with a password from the external service even if their local password is expired. If this value is absent, then a user whose password is expired will not be permitted to authenticate until their local password is reset by an administrator or until the administrator manually resets the password changed.
Multi-Valued
Yes
Required
No
Admin Action Required
None. Modification requires no further action


Advanced Properties

invoke-for-internal-operations (Advanced Property)

Description
Indicates whether the plug-in should be invoked for internal operations. Any plug-in that can be invoked for internal operations must ensure that it does not create any new internal operations that can cause the same plug-in to be re-invoked.
Default Value
true
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action


dsconfig Usage

To list the configured Plugins:

dsconfig list-plugins
     [--property {propertyName}] ...

To view the configuration for an existing Plugin:

dsconfig get-plugin-prop
     --plugin-name {name}
     [--tab-delimited]
     [--script-friendly]
     [--property {propertyName}] ...

To update the configuration for an existing Plugin:

dsconfig set-plugin-prop
     --plugin-name {name}
     (--set|--add|--remove) {propertyName}:{propertyValue}
     [(--set|--add|--remove) {propertyName}:{propertyValue}] ...

To create a new Pluggable Pass Through Authentication Plugin:

dsconfig create-plugin
     --plugin-name {name}
     --type pluggable-pass-through-authentication
     --set enabled:{propertyValue}
     --set pass-through-authentication-handler:{propertyValue}
     [--set {propertyName}:{propertyValue}] ...

To delete an existing Plugin:

dsconfig delete-plugin
     --plugin-name {name}