You can register a user and get the confirmation by the user through the email which helps to confirm an actual user.
The self sign up process creates the user and locks the user account until the user confirmation is received. The created user has an expiry period which, if exceeded, ensures the account cannot be unlocked. The expired accounts are not actually used by the creator and may have been forgotten long ago. The system administrator can later delete these accounts if needed, hence making this a better way to manage the resources.
The following service API can be used for the sign up and confirmation:
Define the following claims and map them with correct attributes in the underlying data store. See Claim Management for more information on how to do this.
About usage in tenants
If you wish to have a set of claims for all tenants, you must add those claims to the
<PRODUCT_HOME>/repository/conf/claim-mgt.xmlfile prior to the first startup and then start the server. If you do not require these claims for all tenants, then it should be added via the UI of specific tenants as instructed here.
The following are the claims that must be mapped.
- This claim is used to store the status of the user's account, i.e., if it is locked or not.
- This claim records the timestamp of when the user is self-registered.
Note: The claim for the timestamp must be added. This is done so that the correct claim URI (
) is mapped for this. See Adding New Claim Mapping for information on how to do this.
Do the following configurations in the
See the following table for descriptions of these configurations.
This enables the identity listener.
This enables the internal email sending module. If
false, the email sending data is available to the application via a Web service. Thus the application can send the email using its own email sender.
This enables locking the account when the account is created.
The time specified here is in minutes. In this case, the recovery expires after 7200 minutes.
This enables the email sending function when recovering the account and verifying the user creation
This enables the authentication flow level checks for the account lock and account confirmation features. You must enable this to make the account confirmation feature work.
Configure the email-admin-config.xml file found in
<PRODUCT_HOME>/repository/conf/email/with the email template of type “
accountConfirmation”. The following is a sample template:
<IS_HOME>/repository/conf/axis2/axis2.xmlfile and uncomment the following email
transportSenderconfigurations. This is necessary because notification sending is internally managed. The configuration values provided are sample values therefore, provide your email details as required.
Self Sign Up
The sequence of services calls are described below for self sign up.
- getUserIdentitySupportedClaims() - Set of claims to which the user profile details should be saved in the Identity Server.
- registerUser() - This registers a user in the system. You need to pass values like user name, password, claim attributes and values returned from the previous call and the tenant domain. The confirmation code is sent by email to the given email address.
The sequence of service calls are described below for account confirmation.
- getCaptcha() - Get the captcha for the current request.
- confirmUserSelfRegistration() - The confirmation code sent to user account, user name, captcha details and tenant domain needs to be passed to the call. Upon successful verification the account is unlocked. Also the verification status is returned to the caller.