Mobile Only in Gecko 33
Available only in Firefox Mobile as of Gecko 33 (Firefox 33 / Thunderbird 33 / SeaMonkey 2.30)
Summary
The Accounts
API lets you check whether a Firefox Account or a legacy Sync account is currently present on the device, and to start the Firefox Account set-up process if an account is not present. Accounts
is a single object that provides a Promise-based API.
Method Overview
Promise anySyncAccountsExist() |
Promise firefoxAccountsExist() |
Promise syncAccountsExist() |
void launchSetup(in object extras) |
Methods
anySyncAccountsExist()
Ask whether a Firefox Account or a legacy Sync account exists on the device.
Promise anySyncAccountsExist()
Return value
Returns a Promise
that resolves to a boolean, true
if either a Firefox Account or a legacy Sync account exists, false
otherwise.
firefoxAccountsExist()
Ask whether a Firefox Account exists on the device.
Promise firefoxAccountsExist()
Return value
Returns a Promise
that resolves to a boolean, true
if a Firefox Account exists, false
otherwise.
syncAccountsExist()
Ask whether a legacy Sync account exists on the device.
Promise syncAccountsExist()
Return value
Returns a Promise
that resolves to a boolean, true
if a legacy Sync account exists, false
otherwise.
launchSetup(in object extras)
Launch the Firefox Account set-up wizard.
void syncAccountsExist(extras)
Parameters
- extras
- Extra options to pass to the set-up wizard. Currently,
extras
can be used to specify custom Firefox Account and Sync token server URLs. See the examples for details.
Examples
To query for accounts and launch the set-up wizard if no account exists:
Components.utils.import("resource://gre/modules/Accounts.jsm"); Accounts.anySyncAccountsExist().then( (exist) => { console.log("Accounts exist? " + exist); if (!exist) { Accounts.launchSetup(); } }, (err) => { console.log("We failed so hard."); } );
To launch the set-up wizard with custom Firefox Account and Sync token server URLs:
Components.utils.import("resource://gre/modules/Accounts.jsm"); // These server URLs are Mozilla's stage servers and are for testing only. let customAuthServerURL = "https://api-accounts.stage.mozaws.net/v1"; let customSyncTokenServerURL = "https://token.stage.mozaws.net/1.0/sync/1.5"; let extras = { auth: customAuthServerURL, services: { sync: customSyncTokenServerURL, }, }; Accounts.launchSetup(extras);
See also
The fxa-custom-server-addon adds a menu item that prompts for custom server URLs and then starts the Account set-up wizard with those URLs. It is available on Github: