You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.
General shape of the messages we'll receive from the WebExtension is described in #3826 (ticket that tracks the WE work itself). Expect to have at least "signIn", "signUp", "password changed" events.
Some FxaAccountManager public API changes that we'll need to make here:
we will now receive a list of enabled engines during sign-ups. One way to model that is by adding an optional enginesToSync parameter to finishAuthenticationAsync
"your password changed"/"account updated" public api method, that should change internal state of the FirefoxAccount object so that we continue to be able to issue valid access tokens. Additionally, it should repopulate SyncAuthInfo cache.
i'm assuming here that we'll get enough information from the WebExtension. In a similar situation, Fennec receives [email, uid, verified, unwrapKB, sessionToken, keyFetchToken].
Additionally, consider if we can replace request interceptor logic entirely. This could be done at the feature level.
FWIW, I have some high-level advice here based on our experience implementing WebChannel message support in other browsers: trust, but validate. The web content has its own view of the world which may not match with your own, so always validate what it's asking you to do just in case it has gotten confused. For example:
If you receive a message listing then enabled engines, make sure you're actually in the middle of a signup flow where such a message would be expected
If you receive a "password changed" message, check that it's for the same account as the one you believe you're signed in as.
I think the explicit-state-machine approach used here will help make this easier.
When the user select what to sync the Web-channel extension will be notified and we need to forward these event to the SyncManager.
┆Issue is synchronized with this Jira Task
The text was updated successfully, but these errors were encountered: