IdmFindUserState
This AuthState is a processing AuthState.
The purpose of this plug-in is to check if users in nevisIDM with the given attributes exists or not.
Topic | Description |
---|---|
Class | ch.nevis.idm.authstate.IdmFindUserState |
Logging | IdmAuth |
Auditing | none |
Marker | |
Properties | user.attribute.* (String, -) The user attribute we want to search by. Only exact search is supported. The following attributes are supported:email, mobile, name, firstName, state, loginId |
searchOperator (enum (AND, OR), AND) Defines the logical operator between the user attributes if multiple attributes are set. Example: If both e-mail and mobile attributes are set and searchOperator=AND , the state will find users who have the given e-mail address and the given mobile number. If searchOperator=OR , the state will find users who have either the given e-mail or the given mobile number. | |
Methods | process (all events) |
Input | none |
Transitions | found: A user is found in nevisIDM with the given attributes. |
multipleFound: Multiple users are found in nevisIDM with the given attributes. | |
notFound: No user is found in nevisIDM with the given attributes. | |
clientNotFound: Searching in an unsupported client or the default client ID (see input above) is not available. | |
inputMissing: If neither of the user attributes are set, inputMissing transition will be generated. | |
Output | none |
Errors | none |
Notes | userExtId: External Id of the found user. Only present if found transition happened |
Example
<AuthState name="FindUserState" class="ch.nevis.idm.authstate.
IdmFindUserState">
<ResultCond name="found" next="UserExistsState"/>
<ResultCond name="multipleFound" next="UserExistsState"/>
<ResultCond name="notFound" next="UserNotExistsState"/>
<ResultCond name="clientNotFound" next="AuthFailed"/>
<ResultCond name="inputMissing" next="InputState"/>
<propertyRef name="IdmCertificateWhiteList"/>
<property name="user.attribute.email" value="${inargs:email}"/>
<property name="user.attribute.mobile" value="${inargs:mobile}"/>
<property name="searchOperator" value="AND"/>
</AuthState>