Using the User Validation API

A generic User Validation interface has been created to enable the TIBCO iProcess Engine to retrieve a list of iProcess users and to check and change their passwords. The details of this interface are published in the User Validation API.

The following is a list of functions provided by the API:

UVAPI package initialization
List the possible iProcess users
Validate a user name as a possible iProcess user
Validate the password for a possible iProcess user, the maximum length of TIBCO iProcess Engine password is 32768 bytes
Change the password for a possible iProcess user
Provide a user identity for the current execution context
Set a user identity for the current execution context
UVAPI package termination

Note 

The concept of an operating system home directory for iProcess users no longer exists. The user’s home directory from a iProcess perspective will be SWDIR\queues\username.

Warning 

IMPORTANT!

You must ensure that any user validation package you create using the User Validation API is threadsafe. This is because within each TIBCO iProcess Engine process, multiple threads may call the User Validation API interfaces during normal TIBCO iProcess Engine operation.

To ensure that your user validation package is threadsafe, make sure that you adhere to the following guidelines:

Make sure that any modules in your user validation package that use User Validation API interfaces use threadsafe code.
Use mutual exclusion locks (mutexes) to prevent multiple threads from simultaneously executing any critical sections of code that are not threadsafe, but that access shared data.
When you build the user validation package, make sure that you use the appropriate flags (for your chosen operating system and compiler) to link the application using threadsafe libraries.

Deploying a non-threadsafe user validation package can cause TIBCO iProcess Engine processes to fail.