LDAP - Update Users node
The LDAP - Update Users node updates an existing user entry in the LDAP directory. It allows you to modify user attributes by adding new values, replacing existing ones, or removing attributes.
This node is available in: Authentication, Admin, Self Service, API, Consent, Library, Custom, User Defined
LDAP configuration
Defines the connection protocol used to communicate with the LDAP server.
Option available:
- ldap: Standard (non-secure) connection (port 389).
- ldaps: Secure connection over SSL/TLS (port 636).
- start-tls: Connection starts as a standard LDAP connection (typically on port 389) and is then upgraded to a secure channel using TLS.
Specifies the hostname or IP address of the LDAP server.
Defines the port used to connect to the LDAP server.
Typical values:
- 389 for LDAP
- 636 for LDAPS
Specifies the maximum time (in seconds) to wait for a connection to the LDAP server.
A value of 0 usually means no timeout.
The Distinguished Name (DN) of the administrative user used to perform the LDAP search operation.
The password associated with the admin user DN.
Defines the base context (starting point) in the LDAP directory where the user search will be performed.
Defines the scope of the LDAP search:
- base: Searches only the base DN
- one: Searches one level under the base DN
- sub: Searches the entire subtree under the base DN
Specifies the LDAP search filter used to locate the user.
Example:(uid={{username}})
The filter can include variables to dynamically match user input.
Node configuration
Defines the attributes and values to be added to the user entry.
If the attribute already exists, the new values will be appended (depending on LDAP schema rules).
Each value can be assigned a static value or dynamically populated using variables returned by previous nodes in the flow (e.g {{form.username}}).
Rule are defined as:LDAP attribute : value
Example:mail: {{form.mail}}givenName: {{form.givenName}}
Attribute Manipulation
It is possible to use a set of basic functions to manipulate values, see Attribute Manipulation.
Defines the attributes whose values should be replaced.
Any existing value for the specified attributes will be overwritten with the new ones.
Each value can be assigned a static value or dynamically populated using variables returned by previous nodes in the flow (e.g {{form.username}}).
Rule are defined as:LDAP attribute : value
Example:mail: {{form.mail}}givenName: {{form.givenName}}
Attribute Manipulation
It is possible to use a set of basic functions to manipulate values, see Attribute Manipulation.
Defines the attributes to be removed from the user entry.
The specified attributes (or their values) will be deleted from the LDAP record.
Each value can be assigned a static value or dynamically populated using variables returned by previous nodes in the flow (e.g {{form.username}}).
Rule are defined as:LDAP attribute : value
Example:mail: {{form.mail}}givenName: {{form.givenName}}
Attribute Manipulation
It is possible to use a set of basic functions to manipulate values, see Attribute Manipulation.
Save in the flow store
Attributes generated or retrieved from the node can be saved into a variable.
They can then be reused by other nodes in the flow by referencing them as {{variable.attribute}}.
To do this you choose attributes that need to be stored in the variable, and in the flow store (All attributes exposed by the node are listed in a multi-select dropdown, allowing the user to choose one or more of them), then a variable name that can be freely defined by the user.
There is also a flag to make the variable available to the frontend.
Default output node
- Success
- Partial Success
- No User Found
- Failure
JSON metadata
{
"name": "ldap_update_user",
"active": true,
"bundleName": "default-nodes",
"bundleVersion": "1.0",
"category": "ldap_ad_user_management",
"deprecated": false,
"displayName": [{
"lang": "en",
"value": "LDAP - Update Users"
}, {
"lang": "it",
"value": "LDAP - Update Users"
}
],
"nodeName": "LdapUpdateUser",
"index": 2,
"inputs": [{
"name": "Input"
}
],
"outputs": [{
"name": "Success",
"level": "success"
}, {
"name": "PartialSuccess",
"level": "warning"
}, {
"name": "NoUserFound",
"level": "warning"
}, {
"name": "Failure",
"level": "error"
}
]
}