Example – User self-registration flow
This example presents a self-registration using email for channel verification. The same self-registration process could be implemented using an mTAN/SMS phone number for channel verification.
Simplified flowchart
The flow demonstrates 5 steps with the following characteristics:
Step | Type | REST Calls |
---|---|---|
1 | user data registration step | /public/user-self-registration/registration/data/ |
Purpose
Comment
| ||
2 | username generation step | None. This step is executed automatically after the successful completion of the previous step. |
Purpose
Comment
| ||
3 | email verification step | /public/user-self-registration/verification/email/otp/check/ |
Purpose
Comment
| ||
4 | user data registration step | /public/user-self-registration/registration/password/ |
Purpose
Comment
| ||
5 | user persisting step | None. This step is executed automatically after the successful completion of step 4. |
Purpose
Comment
|
Known limitations
Care should be taken when configuring self-registration flows for accounts with alias usernames without verification steps. Such setups are subject to race conditions and it may be possible for an attacker to generate multiple user accounts with the same alias. While such accounts are unusable and will not affect the normal operation of Airlock IAM, it is not desirable for an attacker to be able to create them.
To avoid this problem, it is possible to configure a unique index on the database to force all attributes in the username alias to be unique.