components.conf |
|
668 |
Credentials.sys.mjs |
This module implements client-side key stretching for use in Firefox
Accounts account creation and login.
See https://github.com/mozilla/fxa-auth-server/wiki/onepw-protocol
|
4070 |
FxAccounts.sys.mjs |
|
58711 |
FxAccountsClient.sys.mjs |
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.
|
26192 |
FxAccountsCommands.sys.mjs |
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.
|
35109 |
FxAccountsCommon.sys.mjs |
|
19422 |
FxAccountsConfig.sys.mjs |
@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.
|
10828 |
FxAccountsDevice.sys.mjs |
|
22573 |
FxAccountsKeys.sys.mjs |
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.
Note that Desktop is now slowly moving to these newer oauth flows - so all this
key fetching and use of the keyFetchToken should be considered deprecated, and
must not be used when the OAuth is in use. This code remains behind just for
this transition and should be removed once we are committed to never rolling
the flows back to the pre-oauth days.
|
25513 |
FxAccountsOAuth.sys.mjs |
Handles all logic and state related to initializing, and completing OAuth flows
with FxA
It's possible to start multiple OAuth flow, but only one can be completed, and once one flow is completed
all the other in-flight flows will be concluded, and attempting to complete those flows will result in errors.
|
8931 |
FxAccountsPairing.sys.mjs |
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).
|
15367 |
FxAccountsPairingChannel.sys.mjs |
/ (function(modules) { // webpackBootstrap
/***** |
115285 |
FxAccountsProfile.sys.mjs |
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.
|
6512 |
FxAccountsProfileClient.sys.mjs |
A client to fetch profile information for a Firefox Account.
|
8215 |
FxAccountsPush.sys.mjs |
FxAccountsPushService manages Push notifications for Firefox Accounts in the browser
@param [options]
Object, custom options that used for testing
@constructor
|
10006 |
FxAccountsStorage.sys.mjs |
|
22534 |
FxAccountsTelemetry.sys.mjs |
|
6263 |
FxAccountsWebChannel.sys.mjs |
Firefox Accounts Web Channel.
Uses the WebChannel component to receive messages
about account state changes.
|
31303 |
metrics.yaml |
|
2902 |
moz.build |
|
1171 |
pings.yaml |
|
925 |
tests |
|
|