I followed the Pre-registration action flow and just added this line to see if user registrations go through or not. api.access.deny('no_signups_from_north_america', userMessage);
Looks like no matter how I return out or use this, the registration goes through. I want to understand if I am missing something or is there a different way to achieve this.
A brief about my setup
Pre-registration action to stop User registration with the same Email ID
ULP page setup in a React app
Social + Username_Password connection types
I also tried to explicitly call the getUserByEmail API inside the Pre-registration hook to deny registrations but that also isn’t work. Can anyone please help me with this? Thanks in advance!
@dan.woda I am not sure how, but I tried testing it again today and it looks like it is working. I have not changed the code at all in the action and this wasn’t the case 2-3 days back. Any idea why this could have such different states? I literally did not change the code. I just had just this code
exports.onExecutePreUserRegistration = async (event, api) => {
if (event.request.geoip.continentCode === "NA") {
// localize the error message
const LOCALIZED_MESSAGES = {
en: 'You are not allowed to register.',
es: 'No tienes permitido registrarte.'
};
const userMessage = LOCALIZED_MESSAGES[event.request.language] || LOCALIZED_MESSAGES['en'];
api.access.deny('no_signups_from_north_america', userMessage);
}
};
It should go into effect as soon as it has been successfully deployed (you will see the notification). You can look at your logs and see what was done previously vs. now, that may help clarify.