android-components / mozilla.components.concept.sync / SyncAuthInfo / <init>


SyncAuthInfo(kid: String, fxaAccessToken: String, fxaAccessTokenExpiresAt: Long, syncKey: String, tokenServerUrl: String)

A Firefox Sync friendly auth object which can be obtained from OAuthAccount.

Why is there a Firefox Sync-shaped authentication object at the concept level, you ask? Mainly because this is what the SyncableStore consumes in order to actually perform synchronization, which is in turn implemented by places-backed storage layer. If this class lived in services-firefox-accounts, we’d end up with an ugly dependency situation between services and storage components.

Turns out that building a generic description of an authentication/synchronization layer is not quite the way to go when you only have a single, legacy implementation.

However, this may actually improve once we retire the tokenserver from the architecture. We could also consider a heavier use of generics, as well.