Hi AEMing
Please read the following articles and you can implement your OSGI doing the same.
Only major thing to do here is to create an activation key that would be associated with particular user/Email, store this key in DB and send that key to the user in form of URL. So once User clicks that URL(this URL would be verification along with activation key, eg. “Abc.com/verify?email=xyz@email.com&hash=lksdjljljljsj"), the key would be send as GET parameters back to the server, and this would get verified at server end by comparing it with Activation key stored in DB/MEM cache like Redis.
The following article will tell you the whole process in PHP, that we can incorporate in AEM as an OSGI.
Link: - http://code.tutsplus.com/tutorials/how-to-implement-email-verification-for-new-members--net-3824
I hope this would help you.
Thanks and Regards
Kautuk Sahni