Closed Bug 794552 (basecamp-id) Opened 7 years ago Closed 7 years ago

[meta] Implement new identity flow to support new payment provider model

Categories

(Firefox OS Graveyard :: General, defect)

x86
macOS
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ladamski, Unassigned)

References

Details

(Keywords: meta)

We will use a Persona ID (with modifications) to track purchase history and the user's corresponding payment provider ID.  This is necessary to support the new payment provider flow (see 794530).
Depends on: 793911
Depends on: 793909
Depends on: 793906
blocking-basecamp: --- → +
Depends on: 769865
This is a meta bug - we don't block on metabugs. Please nom the individual implementation bugs to block.
blocking-basecamp: + → ---
No longer depends on: 795023
No longer depends on: 793909
Depends on: 795854
Depends on: 795023
We will support the navigator.id API (the Observer API, the latest), as specified in:

  https://developer.mozilla.org/en-US/docs/DOM/navigator.id

This DOM API is already implemented in Gecko, toolkit/identity and dom/identity.

We'll build a B2G specific UI in b2g/components/SignInToWebsite.jsm, which parallels the existing desktop browser/modules/SignInToWebsite.jsm.

Because of the short timeframe and the need for new server-side features and flows, we will serve the identity selector from the Persona servers live, rather than have them locally in B2G. Thus, SignInToWebsite.jsm will, much like mozPay, message Gaia and Gaia will open a trusted popup to the Persona servers.

In order to message back via the DOM API, the dialog frame will be injected with client-side JavaScript that hooks the server-provided content into chrome callbacks, exactly like mozPay does with payment providers.

In addition, time permitting, the native crypto functions already built into Gecko (IdentityCryptoService) will be exposed to the server-provided dialog via additional injected JS APIs.
Depends on: 798442
No longer depends on: 790141
Depends on: 790141
Depends on: 805869
No longer depends on: 805869
Depends on: 796185
Depends on: 807122
Depends on: 807078
Depends on: 804485
Depends on: 794634
No longer depends on: 794634
Depends on: 806425
No longer depends on: 793911
Depends on: 803455
Depends on: 804143
Depends on: 800479
No longer depends on: 806425
Depends on: 808778
Depends on: 810449
Depends on: 810475
Depends on: 809714
Depends on: 806425
No longer depends on: 810449
No longer depends on: 810475
No longer depends on: 806425
No longer depends on: 804485
No longer depends on: 809714
No longer depends on: 803455
No longer depends on: 795854
No longer depends on: 807122
Blocks: marketplace-payments
No longer blocks: basecamp-payments
No longer depends on: 809675
No longer depends on: 795023
No longer depends on: 807676
Depends on: 810758
No longer depends on: 810758
Depends on: 811095
Depends on: 811528
No longer depends on: 769865
Depends on: 805648
No longer depends on: 808778
Depends on: 778817
Depends on: 796549
No longer depends on: 778817
No longer depends on: 813811
No longer depends on: 813811
Depends on: 820046
No longer depends on: 820046
Depends on: 820669
No longer depends on: 820669
No longer depends on: 796185
Blocks: 824836
Blocks: 825351
No longer depends on: 813811
Depends on: 829355
Depends on: 828182
Depends on: 836928
Depends on: 839500
No longer depends on: 830358
No longer depends on: 822517
No longer depends on: 836928
No longer depends on: 839500
Closing for v1 tracking. I've moved all bugs over post v1 work for payments and identity over to bug 846517. So let's use that any post v1 tracking needed for client-side work.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
No longer depends on: 868530
You need to log in before you can comment on or make changes to this bug.