Marketplace/FirefoxAccounts

From MozillaWiki
Jump to navigation Jump to search

This page discusses how we'll integrate Firefox Accounts with the Marketplace, which currently uses Persona.

Marketplace

For the web

Because Marketplace will have to work on Firefox OS 1.0 - 1.4, Android and Desktop, the primary Firefox Accounts flow will be the web based flow.

Documentation: https://github.com/mozilla/fxa-oauth-server/blob/master/docs/api.md

Sample application: https://123done.dev.lcip.org/

  • Set up a Marketplace account on the Firefox Account server, which contains all the account and redirect information.

For Firefox OS 2.0

On Firefox 2.0, we'll use the native Firefox Accounts.

  • Login
    • Add in UA/OS sniffing to detect Firefox OS, if its not Firefox OS 2.0, we assume native Firefox Accounts is not available and fall back to the web.
    • Call navigator.id, adding in: wantIssuer: 'firefox-accounts'
    • When firefox accounts returns, create or sync up with the existing account (we already do this)
    • Create the session
  • Logout
    • Nuke the local session

Payments

Note: Firefox Accounts does not allow unverified accounts.

  • Login
    • As above for Firefox for the web.
  • Reset PIN
    • Log the user out
    • Restart the payment flow

Migration

Persona users allowed users to login with unverified emails, Firefox Accounts does not. If a user has an unverified email they will have to log in to Firefox Accounts with a new email. In this case the record of paid apps on the server will be inaccurate. This will never really affect a user until they try to purchase a previously installed app.

Note: this currently affects users anyway, but Firefox OS accounts by forcing new accounts is more likely to trigger it.

  • Add in a move purchase page to the admin lookup pages
    • Takes two user accounts, listing all purchases
    • Moves all app purchases from account A to account B