Skip to content

Bug XXXXXXX - Report whether the account holds the Sync keys over the web-channel - #338

Closed
dschom wants to merge 2 commits into
mozilla-firefox:mainfrom
dschom:FXA-14368
Closed

Bug XXXXXXX - Report whether the account holds the Sync keys over the web-channel#338
dschom wants to merge 2 commits into
mozilla-firefox:mainfrom
dschom:FXA-14368

Conversation

@dschom

@dschom dschom commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

No description provided.

dschom added 2 commits August 18, 2026 11:58
Adds the fxaccounts:pair_oauth_start and fxaccounts:pair_oauth_finish
web-channel commands, gated on a new identity.fxaccounts.pairing.version
pref that is advertised to FxA as capabilities.pairingVersion.

Acting as the supplicant, pair_oauth_start begins an OAuth flow and hands
FxA only the public parameters (state, scope, code_challenge, keys_jwk),
so the code verifier never leaves the browser. Acting as the authority,
pair_oauth_finish grants an authorization code for a supplicant's
parameters.

_authorizeOAuthCode and the keys_jwe construction move out of
FxAccountsPairing and into FxAccountsOAuth, so the channel-server pairing
flow and the new web-channel command share one implementation.

On Android, FxaCapability.PAIRING_V2 advertises pairingVersion and enables
fxaccounts:pair_oauth_start.
… web-channel

Adds capabilities.hasSyncKeys to the fxaccounts:fxa_status web-channel
response, so FxA can tell whether the signed-in account has been granted
the Sync scope and therefore holds the Sync key. On Desktop this is false
when nobody is signed in and also when a locked Primary Password stops us
reading the keys.

Supporting this on Android needs a way to ask an account which scopes it
has been granted, so OAuthAccount grows a hasScope method. That is a
breaking change for concept-sync consumers: hasScope is abstract, so every
implementor must override it. A default would be worse, since an
implementor that forgot to override it would silently report that it holds
no Sync keys rather than failing to build.
@firefoxci-taskcluster

Copy link
Copy Markdown
No Taskcluster jobs started for this pull request

The allowPullRequests configuration for this repository (in .taskcluster.yml on the default branch) does not allow starting tasks for this pull request.

@github-actions

Copy link
Copy Markdown
Contributor

(Automated Close) Please do not file pull requests here, see https://firefox-source-docs.mozilla.org/contributing/how_to_submit_a_patch.html

@github-actions github-actions Bot closed this Aug 18, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 18, 2026
@dschom dschom changed the title Fxa 14368 Bug XXXXXXX - Report whether the account holds the Sync keys over the web-channel Aug 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant