FirefoxAccount

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.

Constructors

Link copied to clipboard
constructor(pointer: <Error class: unknown class>)
constructor(noPointer: NoPointer)

This constructor can be used to instantiate a fake object. Only used for tests. Any attempt to actually use an object constructed this way will fail as there is no connected Rust object.

constructor(config: FxaConfig)

Create a new `FirefoxAccount` instance, not connected to any account.

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
open override fun beginOauthFlow(scopes: List<String>, entrypoint: String): String

Initiate a web-based OAuth sign-in flow.

Link copied to clipboard
open override 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
open override fun clearAccessTokenCache()

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

Link copied to clipboard
open override fun clearDeviceName()

Clear any custom display name used for this application instance.

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

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

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

Complete an OAuth flow.

Link copied to clipboard
open override fun destroy()
Link copied to clipboard
open override fun disconnect()

Disconnect from the user's account.

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

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

Link copied to clipboard
open override fun gatherTelemetry(): String

Collect and return telemetry about incoming and outgoing device commands.

Link copied to clipboard
open override fun getAccessToken(scope: String, ttl: Long?): AccessTokenInfo

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

Link copied to clipboard
open override fun getAttachedClients(): List<AttachedClient>

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

Link copied to clipboard
open override fun getAuthState(): FxaRustAuthState

Get the high-level authentication state of the client

Link copied to clipboard
open override fun getConnectionSuccessUrl(): String

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

Link copied to clipboard
open override fun getCurrentDeviceId(): String

Get the device id registered for this application.

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

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

Link copied to clipboard
open override fun getManageAccountUrl(entrypoint: String): String

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

Link copied to clipboard
open override fun getManageDevicesUrl(entrypoint: String): String

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

Link copied to clipboard
open override fun getPairingAuthorityUrl(): String

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

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

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

Link copied to clipboard
open override fun getSessionToken(): String

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

Link copied to clipboard
open override fun getState(): FxaState

Get the current state

Link copied to clipboard
open override fun getTokenServerEndpointUrl(): String

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

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

Process and respond to a server-delivered account update message

Link copied to clipboard
open override fun handleSessionTokenChange(sessionToken: String)

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

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

Create a new device record for this application.

Link copied to clipboard
open override 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
open override fun processEvent(event: FxaEvent): FxaState

Process an event (login, logout, etc).

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

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

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

Update the display name used for this application instance.

Link copied to clipboard
open override fun setPushSubscription(subscription: DevicePushSubscription): LocalDevice

Set or update a push subscription endpoint for this device.

Link copied to clipboard
open override 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
open override 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
open override fun toJson(): String

Save current state to a JSON string.

Link copied to clipboard
fun uniffiClonePointer(): <Error class: unknown class>