Mozilla Accounts Server (fxa-auth-server):
- Manages user authentication (sign-up, login, password reset, etc.).
- Issues authentication tokens that allow users to access various Mozilla services, including Firefox Sync.
Users to authenticate through this server before syncing their data.
Mozilla accounts offers an end-to-end encryption support feature for OAuth reliers by deriving a strong encryption key from user’s password.
https://chat.mozilla.org/#/room/#fxa:mozilla.org
Firefox Sync Server (syncserver):
- Stores and syncs browser data (bookmarks, passwords, history, etc.).
- Requires authentication via the Mozilla Accounts Server before allowing access to synced data.
- Does not handle user accounts directly but relies on authentication tokens from the Mozilla Accounts Server.
How They Work Together:
- When a user logs into Firefox Sync, their credentials are verified by the Mozilla Accounts Server.
- Upon successful authentication, the Mozilla Accounts Server provides an OAuth token to the client (Firefox).
- The Firefox client then uses this token to authenticate with the Firefox Sync Server, which allows it to store and retrieve synced data.
There is some confusion, since Mozilla Sync Storage (Syncstorage-rs written in Rust) also exists, which might (?) eventually replace syncserver.