Implementing Firebase magic link (passwordless) login in mobile app

Hi,

I am struggling with implementing a way to log my users in thanks to a simple mail with a link that allows them to be logged in.

Since my app is multilingual, the Firebase standard templates are inadequate, so I implemented a cloud function. That sends an email with a Firebase provided link (using generateSignInWithEmailLink). That part seems OK.

Then dynamic links are set up and clicking on the link returns the user to the app. So I guess the setup is fine.

However, I am not getting around to actually reaching a specific page in the app and logging in the user.

The thing is the Firebase link is on the form of : https://myapp.page.link/__/auth/action?apiKey=...&mode=signIn&oobCode=...&continueUrl=https://my.bundle.com/myPage&lang=en

When returning to the app, the log says :

[GoRouter] pushing /__/auth/action?apiKey=...&mode=signIn&oobCode=...

[GoRouter] No initial matches: /__/auth/action?apiKey=...&mode=signIn&oobCode=...

It looks as though the given path can't be found within the app. But Firebase gives no control over the path. I tried creating a route corresponding to /__/auth/action, but a double underscore route is not allowed.

Has someone actually managed to play with dynamic/deep links in a FlutterFlow app ? And have you managed to successfully match this with a Firebase generated link ? Also, if someone has a full procedure to implement magic link login, it would be great because I have tried so many things I'm not sure how many things I have broken doing so.

Thanks for any help or guidance because I'm pulling my hair out !

2
3 replies