Closed Bug 1317580 Opened 5 years ago Closed 4 years ago

Add Deep Linking into FxA Views and Prefill Forms


(Firefox for iOS :: Firefox Accounts, defect, P3)




Tracking Status
fxios 8.0+ ---


(Reporter: vbudhram, Assigned: vbudhram, NeedInfo)


(Depends on 1 open bug)


(Whiteboard: [MobileCore][fxa-waffle][b3])


(3 files, 2 obsolete files)

This is a feature request to add additional deep linking capabilities into FxiOS, in support of Firefox accounts.

Specifically, we should add the capability to directly launch into the FxA Sign-in view controller and prefill the login form with the passed email/code. We should also be able to reuse the existing deep linking scheme `firefox://`.

The extended scheme could look like below.


The user is taken directly to the FxA Sign-in page. If param email/code is passed, then the email field on the page will be prefilled. Ex. firefox://fxa=signin& After the page has been loaded, we could inject the javascript needed to fill out these input fields.


The user is taken directly to the FxA Sign-up page and email field is prefilled. Ex. firefox://fxa=signup&

In the event of an error while navigating or filling out the page, the current default action will be taken, which is to open the app.

Adding these capabilities will allow FxA to reduce the friction for signing up and signing in users.

Flags: needinfo?(sleroux)
I think having the deep linking/auto filling of the FxA sign in form will be _way_ better than what we have now. As far as the schemes goes, I think it would work alright as you've listed. James has worked more on the schemes we currently support so I've CC'ed him for input.
Flags: needinfo?(sleroux)
re lingering PR
Flags: needinfo?(fpatel)
Let's chat about this in triage today. I think we should put this into an upcoming release.
Assignee: nobody → vbudhram
tracking-fxios: --- → ?
Priority: -- → P2
Whiteboard: [MobileCore]
Flags: needinfo?(vbudhram)
I've left comments on the PR.
Flags: needinfo?(fpatel)
PR updated and merged. Thanks guys!
Flags: needinfo?(vbudhram)
master 54c89aa48812c35a5b6ffb32243bce544764f2cf
Closed: 5 years ago
Resolution: --- → FIXED
Whiteboard: [MobileCore] → [MobileCore][needsuplift]
v6.x 767975f60dd5bed0db4873b1775d882d0b184d52
Whiteboard: [MobileCore][needsuplift] → [MobileCore]
Depends on: 1328579
Adds a feature flag to disable this code path for the upcoming 6.0 release.
Attachment #8825160 - Flags: review?(sarentz)
Attachment #8825160 - Flags: review?(fpatel)
Comment on attachment 8825160 [details] [diff] [review]
Attachment #8825160 - Attachment description: Link to Github pull-request: → PR:
Attachment #8825160 - Attachment is patch: true
Attachment #8825160 - Flags: review?(sarentz) → review+
Feature flag patch

master 9fb8dfcf4377271da5ec8f5ab8bb2a24c87024df
v6.x 593fe136d05807f502394732fd61659409db0fcd
Attachment #8825160 - Flags: review?(fpatel) → review+
See Also: → 1356386
Re-opening this issue - the original patch was backed out and we have a new scheme!

The new deep-link will be:


When opening FxA, the signin query parameter should be propagated as a query parameter to FxA.

:rfeeley - You mentioned to me that you have presented your designs to the Fx for iOS UX folks, 
can you present them to :sleroux about where in the onboarding flow FxA should be opened with 
this deeplink?
Flags: needinfo?(rfeeley)
Resolution: FIXED → ---
Priority: P2 → P3
Since I don't see it noted explicitly here, I want to note that we intend to use this "deferred deeplinking" via adjust, as documented here:

End-to-end, the idea would be that:

  * On their desktop machine, the user e.g. sends themselves an SMS to install Firefox on their mobile
  * The SMS contains a link like<token> where the token is specific to their account
  * Via the magic of adjust, they install Firefox on their mobile and it triggers opening of the provided deeplink
  * Firefox opens into whatever onboarding flow that :rfeeley is working on here, and they see their account details pre-filled in the signin screen
(Using the whiteboard tag to link this into the FxA engineering waffleboard for tracking on our side as well; please let me know if this messes up any of your own uses of that field)
Whiteboard: [MobileCore] → [MobileCore][fxa-waffle]
Absolutely. Here is the link for Sleroux that shows the regular onboarding flow, on top of the proposed deep linked flow.

Robin tells me that there are changes being made to the onboarding flow. Let’s coordinate!
Flags: needinfo?(sleroux)
Flags: needinfo?(rfeeley)
Flags: needinfo?(randersen)
Flags: needinfo?(sleroux)
Whiteboard: [MobileCore][fxa-waffle] → [MobileCore][fxa-waffle][needstrellocard]
This PR updates FxA deep linking to use the new schema defined in It also removes the code that was prefilling email and access code from the app. Form filling will be performed from FxA via the passed signin query param.
Attachment #8813375 - Attachment is obsolete: true
Attachment #8825160 - Attachment is obsolete: true
Attachment #8864271 - Flags: review?(fpatel)
Attachment #8864271 - Flags: review?(fpatel) → review-
Attachment #8864271 - Flags: review- → review+
Attached file Pull Request
Forgot to add test file to project. Also added a couple minor tweaks from your last review.
Attachment #8870948 - Flags: review?(fpatel)
Attachment #8870948 - Flags: review?(fpatel) → review+
Whiteboard: [MobileCore][fxa-waffle][needstrellocard] → [MobileCore][fxa-waffle][needstrellocard][needsuplift]
Attachment #8871520 - Flags: review?(sarentz)
Attachment #8871520 - Flags: review?(fpatel)
Attachment #8871520 - Flags: review?(fpatel) → review+
Attachment #8871520 - Flags: review?(sarentz) → review+
Whiteboard: [MobileCore][fxa-waffle][needstrellocard][needsuplift] → [MobileCore][fxa-waffle][needstrellocard]
Closed: 5 years ago4 years ago
Resolution: --- → FIXED
Whiteboard: [MobileCore][fxa-waffle][needstrellocard] → [MobileCore][fxa-waffle]
Whiteboard: [MobileCore][fxa-waffle] → [MobileCore][fxa-waffle][needsuplift][b3]
Whiteboard: [MobileCore][fxa-waffle][needsuplift][b3] → [MobileCore][fxa-waffle][b3]
You need to log in before you can comment on or make changes to this bug.