FirefoxAccountInterface

Object representing the signed-in state of an application.

The FirefoxAccount object is the main interface provided by this crate. It represents the signed-in state of an application that may be connected to user's Firefox Account, and provides methods for inspecting the state of the account and accessing other services on behalf of the user.

Inheritors

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard

Create a new OAuth authorization code using the stored session token.

Link copied to clipboard
abstract fun beginOauthFlow(scopes: List<String>, entrypoint: String): String

Initiate a web-based OAuth sign-in flow.

Link copied to clipboard
abstract fun beginPairingFlow(pairingUrl: String, scopes: List<String>, entrypoint: String): String

Initiate a device-pairing sign-in flow.

Link copied to clipboard

Check authorization status for this application.

Link copied to clipboard
abstract fun clearAccessTokenCache()

Clear the access token cache in response to an auth failure.

Link copied to clipboard
abstract fun clearDeviceName()

Clear any custom display name used for this application instance.

Link copied to clipboard
abstract fun closeTabs(targetDeviceId: String, urls: List<String>): CloseTabsResult

Use device commands to close one or more tabs on another device.

Link copied to clipboard
abstract fun completeOauthFlow(code: String, state: String)

Complete an OAuth flow.

Link copied to clipboard
abstract fun disconnect()

Disconnect from the user's account.

Link copied to clipboard
abstract fun ensureCapabilities(supportedCapabilities: List<DeviceCapability>): LocalDevice

Ensure that the device record has a specific set of capabilities.

Link copied to clipboard
abstract fun gatherTelemetry(): String

Collect and return telemetry about incoming and outgoing device commands.

Link copied to clipboard
abstract fun getAccessToken(scope: String, ttl: Long? = null): AccessTokenInfo

Get a short-lived OAuth access token for the user's account.

Link copied to clipboard

Get the list of all client applications attached to the user's account.

Link copied to clipboard

Get the high-level authentication state of the client

Link copied to clipboard

Get a URL which shows a "successfully connceted!" message.

Link copied to clipboard
abstract fun getCurrentDeviceId(): String

Get the device id registered for this application.

Link copied to clipboard
abstract fun getDevices(ignoreCache: Boolean): List<Device>

Get the list of devices registered on the user's account.

Link copied to clipboard
abstract fun getManageAccountUrl(entrypoint: String): String

Get a URL at which the user can manage their account and profile data.

Link copied to clipboard
abstract fun getManageDevicesUrl(entrypoint: String): String

Get a URL at which the user can manage the devices connected to their account.

Link copied to clipboard

Get the URL at which to begin a device-pairing signin flow.

Link copied to clipboard
abstract fun getProfile(ignoreCache: Boolean): Profile

Get profile information for the signed-in user, if any.

Link copied to clipboard
abstract fun getSessionToken(): String

Get the session token for the user's account, if one is available.

Link copied to clipboard
abstract fun getState(): FxaState

Get the current state

Link copied to clipboard

Get the URL at which to access the user's sync data.

Link copied to clipboard
abstract fun handlePushMessage(payload: String): AccountEvent

Process and respond to a server-delivered account update message

Link copied to clipboard
abstract fun handleSessionTokenChange(sessionToken: String)

Update the stored session token for the user's account.

Link copied to clipboard
abstract fun initializeDevice(name: String, deviceType: DeviceType, supportedCapabilities: List<DeviceCapability>): LocalDevice

Create a new device record for this application.

Link copied to clipboard
abstract fun onAuthIssues()

Update the state based on authentication issues.

Link copied to clipboard

Poll the server for any pending device commands.

Link copied to clipboard
abstract fun processEvent(event: FxaEvent): FxaState

Process an event (login, logout, etc).

Link copied to clipboard
abstract fun sendSingleTab(targetDeviceId: String, title: String, url: String)

Use device commands to send a single tab to another device.

Link copied to clipboard
abstract fun setDeviceName(displayName: String): LocalDevice

Update the display name used for this application instance.

Link copied to clipboard

Set or update a push subscription endpoint for this device.

Link copied to clipboard
abstract fun setUserData(userData: UserData)

Sets the users information based on the web content's login information This is intended to only be used by user agents (eg: Firefox) to set the users session token and tie it to the refresh token that will be issued at the end of the oauth flow.

Link copied to clipboard
abstract fun simulateNetworkError()

Used by the application to test auth token issues

Link copied to clipboard

Used by the application to test auth token issues

Link copied to clipboard

Used by the application to test auth token issues

Link copied to clipboard
abstract fun toJson(): String

Save current state to a JSON string.