Check for email existence during self-registration

We have Plone site with self-registration enabled and email addresses as user ids.
Customer requirement is to check the email address during the self-registration against email addresses in an external CRM system. So only emails known to the CRM system are allowed to registered with Plone - we don't need/want to authenticate against the CRM - we just need to check if an email exists. Is there a way to perform this check on the PAS level (we have already a PAS plugin for fetching member properties for authenticated users from the CRM) or hook this into the self-registration process?

In a project we have overriden the registration form's validate_registration method to do our own checks. I guess you can override it and perform the query to the CRM there.

2 Likes

Might not be 100% what you are looking for but https://github.com/collective/collective.pfg.signup allows you to have a custom PFG form which can be easily made to validate the email using a script. It acts as a PFG adapter which would then create the user for you. It also allows a manual approval step and rules for adding to certain groups, not that you are asking for that.

Thanks, monkey patching validate_registration() did the job.