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.
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.
https://mozilla-services.readthedocs.io/en/latest/howtos/run-fxa.html
There is some confusion, since Mozilla Sync Storage (Syncstorage-rs written in Rust) also exists, which might (?) eventually replace syncserver.