Name Description Size
Credentials.jsm This module implements client-side key stretching for use in Firefox Accounts account creation and login. See 4237
FxAccounts.jsm 62650
FxAccountsClient.jsm Return client clock offset, in milliseconds, as determined by hawk client. Provided because callers should not have to know about hawk implementation. The offset is the number of milliseconds that must be added to the client clock to make it equal to the server clock. For example, if the client is five minutes ahead of the server, the localtimeOffsetMsec will be -300000. 26423
FxAccountsCommands.js Poll and handle device commands for the current device. This method can be called either in response to a Push message, or by itself as a "commands recovery" mechanism. @param {Number} notifiedIndex "Command received" push messages include the index of the command that triggered the message. We use it as a hint when we have no "last command index" stored. 15160
FxAccountsCommon.js 24415
FxAccountsConfig.jsm @param path should be parsable by the URL constructor first parameter. @param {bool} [options.includeDefaultParams] If true include the default search params. @param {Object.<string, string>} [options.extraParams] Additionnal search params. @param {bool} [options.addAccountIdentifiers] if true we add the current logged-in user uid and email to the search params. 10492
FxAccountsDevice.jsm 21494
FxAccountsKeys.jsm Utilities for working with key material linked to the user's account. Each Firefox Account has 32 bytes of root key material called `kB` which is linked to the user's password, and which is used to derive purpose-specific subkeys for things like encrypting the user's sync data. This class provides the interface for working with such key material. Most recent FxA clients obtain appropriate key material directly as part of their sign-in flow, using a special extension of the OAuth2.0 protocol to securely deliver the derived keys without revealing `kB`. Keys obtained in in this way are called "scoped keys" since each corresponds to a particular OAuth scope, and this class provides a `getKeyForScope` method that is the preferred method for consumers to work with such keys. However, since the FxA integration in Firefox Desktop pre-dates the use of OAuth2.0, we also have a lot of code for fetching keys via an older flow. This flow uses a special `keyFetchToken` to obtain `kB` and then derive various sub-keys from it. Consumers should consider this an internal implementation detail of the `FxAccountsKeys` class and should prefer `getKeyForScope` where possible. We intend to remove support for Firefox ever directly handling `kB` at some point in the future. 25994
FxAccountsOAuthGrantClient.jsm Firefox Accounts OAuth Grant Client allows clients to obtain an OAuth token from a BrowserID assertion. Only certain client IDs support this privilege. 6522
FxAccountsPairing.jsm The pairing flow can be modeled by a finite state machine: We start by connecting to a WebSocket channel (SuppConnectionPending). Then the other party connects and requests some metadata from us (PendingConfirmations). A confirmation happens locally first (PendingRemoteConfirmation) or the oppposite (PendingLocalConfirmation). Any side can decline this confirmation (Aborted). Once both sides have confirmed, the pairing flow is finished (Completed). During this flow errors can happen and should be handled (Errored). 15584
FxAccountsPairingChannel.js / (function(modules) { // webpackBootstrap /***** 113390
FxAccountsProfile.jsm Firefox Accounts Profile helper. This class abstracts interaction with the profile server for an account. It will handle things like fetching profile data, listening for updates to the user's profile in open browser tabs, and cacheing/invalidating profile data. 6588
FxAccountsProfileClient.jsm A client to fetch profile information for a Firefox Account. 9354
FxAccountsPush.jsm FxAccountsPushService manages Push notifications for Firefox Accounts in the browser @param [options] Object, custom options that used for testing @constructor 10013
FxAccountsStorage.jsm 23492
FxAccountsTelemetry.jsm 14288
FxAccountsWebChannel.jsm Firefox Accounts Web Channel. Uses the WebChannel component to receive messages about account state changes. 23263
RustFxAccount.js This class is a low-level JS wrapper around the `mozIFirefoxAccountsBridge` interface. A `RustFxAccount` instance can be associated to 0 or 1 Firefox Account depending on its login state. This class responsibilities are to: - Expose an async JS interface to the methods in `mozIFirefoxAccountsBridge` by converting the callbacks-driven routines into proper JS promises. - Serialize and deserialize the input and outputs of `mozIFirefoxAccountsBridge`. Complex objects are generally returned through JSON strings. 13690
components.conf 659 1195
rust-bridge 5
tests 3