Hi,

The user onboarding scenario contains several options:
1.Add new user with username and password
2.Add new user with email verification
3.Add new user with OTP email
4.Add new user with Ask password with email verification

The "addUser()" method in Identity Store level only adds the user.
Inorder to handle different options like email notifications, we decided to
write a seperate handler to handle those different user onboarding
scenarios.

So, inorder to retrieve the type of onboarding we can set it as a property
in the UserBean object.
*Thus, we need to add a new property map attribute to the UserBean.*

The flow will be as follows:
1.User selects email verification user onboarding from the drop down list.
2.Set the user bean property for email verification in the identity store
client service (in product-is)
3.The client service will call the IdentityStorre addUser() back end method.
4.We register our handler for follwing events
Ex:
module.name.3=UserOnboardingHandler
UserOnboardingHandler.subscription.1=POST_ADD_USER
UserOnboardingHandler.subscription.2=POST_ADD_USER_BY_DOMAIN
UserOnboardingHandler.subscription.3=POST_ADD_USERS
UserOnboardingHandler.subscription.4=POST_ADD_USERS_BY_DOMAIN

5.Then after user addition, according to above event we can handle email
notifiation sending in the new handler.
6.Inorder to identify the user onboarding  type, we retreive the UserBean
prorerty and check against that.


Above is the flow I came to conclusion after discussing offline with
Johann,Ayesha and Omindu.
Please feel free to add any other suggestions or improvements.


Thanks
-- 
Denuwanthi De Silva
Senior Software Engineer;
WSO2 Inc.; http://wso2.com,
Email: [email protected]
Blog: https://denuwanthi.wordpress.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to