In the current implementation I believe you would have to build all of this yourself. Something like:
- Your own “change email” feature that stores the new email in
user_metadata
orapp_metadata
, - Your own email validation flow that sends a validation email to the user including a magic link,
- Magic link triggers a process that changes the
user.email
attribute for whatever was previously stored in metadata and then takes the user to your web page or hosted login page.
You’d want the native email validation disabled.