I stumbled across a requirement that is to not allow the users to log in in the communities/portal upon self-registration until they confirm the registration (activation link must be sent through an email).
This is a standard process for almost every other portal on the net. It seems like that Salesforce doesn't have out-of-the-box functionality to support this yet.
My solution is to set the user Inactive upon registering and generate a random hash (before insert trigger) with an expiry date. Then change the default self-registration email template to include this hash into a link to a publicly exposed page that will validate the hash and find/activate the user, and finally log them in.
1) Has anyone else tried to do this before, and how did you approach this? Is there a better idea than my proposed solution?
2) Is there any official documentation around this that I might be missing here?