I need your assistance with our migration from Rules to Actions.
We are encountering a specific issue regarding how to handle errors returned from the newly created actions.
Previously, in Rules, we managed errors by throwing them as follows: return new Error(some_message), return callback (new UnauthorizedError(some_message))
.
How can we return all those error messages in Actions?
Is the only possible way to achieve this by using api.access.deny(some_message)
?
This question pertains to the post-login flow.
Is it possible to return an UnauthorizedError
within Actions in any way?
Please respond as the deadline for the migration is approaching. Thank you in advance.
Hey there @strahinja.ducic welcome to the community!
That’s correct, you’ll want to utilize api.access.deny(reason)
in Actions - The error code will always be access_denied
with the error_description
as the provided reason
. An example post-login Action checking for a verified email and a blocked property in event.user.user_metadata
:
exports.onExecutePostLogin = async (event, api) => {
if (!event.user.email_verified) {
api.access.deny('Email not verified.');
return;
}
if (event.user.user_metadata && event.user.user_metadata.blocked) {
api.access.deny('User is blocked.');
return;
}
// other logic
};
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.