Firebase Authentication e-mail

The various Firebase tutorials explain the signup process pretty well, and I have managed to implement Firebase Authentication, complete with user registration and password reset, etc. However, the only piece missing is the new user e-mail confirmation link. Firebase does not seem to send those automatically (like password resets), and I can’t find the correct formula or syntax to enable that in AppGyver?

sending the email verification email. is in general, the same process as sending the password reset email, you need an http request set up like this:

url : “https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]

and in request body : {requestType: “VERIFY_EMAIL”, idToken: outputs[“sign up”].resBody[‘idToken’]}

the way i do it, is to connect one after the other, so you can use the id token, before expiring.
image

now one more thing to think, is when you need to sign in the user and check if he has verified his email (if you dont know how to do that let me know) and then send him a new email ver email, if he hasnt verified.
Again, the way i do it, is that when the user signs in i check if he has verified the email, if he has i continue sign in but if he hasnt i send a new email ver email using the id token from sign in (that hasnt expired yet) and let him know that a new ver email has been sent.

there is also an other way to do it, if you want to make a send new ver email button, but you need to somehow get a new id token, this can be done maybe this way,
https://firebase.google.com/docs/reference/rest/auth#section-refresh-token
but then you somehow need to have a refresh token in order to get a new id token to send the new ver email. I guess this can only work, after the user signs up, you save the refresh token in a page var and use the steps above to send the new email if he uses the send new ver email button.

more info here Firebase Auth REST API

3 Likes

Hello
I need Help please…
I’m struggling with the “send reset password” http request.
i have this as formula

but i never receive a recovering password email. It’s always the error output (2nd) who is triggered never the first one.

Thank you for your help :slight_smile:

the problem is in the request body, try like this
{requestType: “PASSWORD_RESET”, email: pageVars.Email}

2 Likes

Thank you it works !!
for others who are interested i also corrected my “identitytoolkit” address to the one provided by firebase documentation (the one above is a wrong cut / paste) “https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=” + appVars.apiKey

1 Like