Search Posts

Firebase Passing State(continue to app link) in Password Reset Email

Trying to build a password reset flow where the user receives password reset email, reset’s their password and then is guided back to the app. trying to avoid deep linking, just need to open the app back up.

The app is using latest Ionic and Angular version with Firebase authentication.

Problem: I am able to send the password reset email and change the password for that account but when I click the continue button provided by the firebase, it breaks on Android and iPhone. The link also starts with localhost. I’m not sure what I am doing wrong or if I have configured something incorrectly.

Also confused by Firebase’s documentation when it says, “The Android/iOS app needs to be registered in the Console.”

Really have ran out of ideas!

My action code settings are pretty much default.

The url is whitelisted in Firebase’s authorized domains.

var actionCodeSettings = {
 url: 'https://www.myapp.com/?email=' + email,
 iOS: {
  bundleId: 'com.myapp.new'
 },
 android: {
  packageName: 'com.myapp.new',
  installApp: true,
  minimumVersion: '2'
 },
 handleCodeInApp: false
};

Here is what the link looks like

https://localhost/?link=https://myapp.com/?email%[email protected]&apn=com.myapp.new&amv=2&ibi=com.myapp.new&ifl=https://myapp.com/?email%[email protected]

Source: AngularJS

2 comments on Firebase Passing State(continue to app link) in Password Reset Email

  1. I have the same issue, I get this error :

    Failed to execute ‘assign’ on ‘Location’: ‘https://?link=https://xxxx-dev.firebaseapp.com/test/?test%3D123’ is not a valid URL.

    I was passing this value :

    const actionCodeSettings = {
    url: ‘https://xxxx-dev.firebaseapp.com/test/?test=’ + 123,
    handleCodeInApp: false
    };

    Did you find a solution ?

    1. It works for me now after initializing the Dynamic Links for the project (no need to really use the SDK , just to initialize the FDL domain)

      hope it helps !

Leave a Reply

Your email address will not be published. Required fields are marked *