fuchsia.identity.internal

PROTOCOLS

AccountHandlerControl

Defined in fuchsia.identity.internal/account_handler.fidl

The control channel for an AccountHandler component.

This interface is intended only for use by the AccountManager component that starts instances of AccountHandler. We define which account the handler should be handling one time via this channel rather than via startup flags to provide additional flexibility given the range of scenarios: * The account is completely new * The account is being added to the current device for the first time * Account information is already present on the local disk and is readable * Account information is already present on the local disk but is not yet readable because the disk is not yet decrypted.

CreateAccount

Creates a completely new Fuchsia account.

context An AccountHandlerContext that can supply account and authentication services and contextual state. id The new account's local identifier.

Request

NameType
context AccountHandlerContext
id uint64

Response

NameType
result AccountHandlerControl_CreateAccount_Result

LoadAccount

Loads information about a Fuchsia account that was previously provisioned on the current device.

context An AccountHandlerContext that can supply account and authentication services and contextual state. id The account's local identifier.

Request

NameType
context AccountHandlerContext
id uint64

Response

NameType
result AccountHandlerControl_LoadAccount_Result

RemoveAccount

Deletes all persistent information about the Fuchsia account handled by this handler, including all credentials and global identifiers. Credential revocation is attempted before deletion. After a successful call to RemoveAccount, all other open interfaces for this account handler will be closed and any subsequent calls on the current interface will fail.

force If true, continues removing the account even if revocation of credentials fails. If false, any revocation failure will result in an error and the account will remain. In this case, a subset of the credentials may have been deleted.

Request

NameType
force bool

Response

NameType
result AccountHandlerControl_RemoveAccount_Result

GetAccount

Connects an interface to read properties of and perform operations on the account handled by this handler. The account must have previously been initialized using CreateAccount or LoadAccount, otherwise the call will fail with an error of NOT_FOUND.

context_provider An AuthenticationContextProvider capable of supplying UI contexts used for interactive authentication on this account account The server end of an Account channel

Request

NameType
auth_context_provider fuchsia.auth/AuthenticationContextProvider
account request<fuchsia.identity.account/Account>

Response

NameType
result AccountHandlerControl_GetAccount_Result

Terminate

Signals that the AccountHandler should tear itself down. After the receiver responds by closing its handle, the caller may terminate the component if it hasn't already exited.

Request

NameType

AccountHandlerContext

Defined in fuchsia.identity.internal/account_handler.fidl

An interface that supplies the account and authentication services that an AccountHandler needs to perform its role in the system.

In the v2 Component architecture this service will be supplied into the namespace of AccountHandler by the component that launches it (i.e. the AccountManager). Until then an AccountHandlerContext is supplied explicitly in the initialization calls on the AccountHandlerControl interface.

GetAuthProvider

Connects an interface to a particular AuthProvider, launching it if necessary.

auth_provider_type An OAuth identity provider matching a configuration set in an AuthProviderConfig.auth_provider_type auth_provider The server end of an AuthProvider channel

Request

NameType
auth_provider_type string
auth_provider request<fuchsia.auth/AuthProvider>

Response

NameType
result AccountHandlerContext_GetAuthProvider_Result

STRUCTS

AccountHandlerControl_CreateAccount_Response

generated

NameTypeDescriptionDefault

AccountHandlerControl_LoadAccount_Response

generated

NameTypeDescriptionDefault

AccountHandlerControl_RemoveAccount_Response

generated

NameTypeDescriptionDefault

AccountHandlerControl_GetAccount_Response

generated

NameTypeDescriptionDefault

AccountHandlerContext_GetAuthProvider_Response

generated

NameTypeDescriptionDefault

UNIONS

AccountHandlerControl_CreateAccount_Result

generated

NameTypeDescription
response AccountHandlerControl_CreateAccount_Response
err fuchsia.identity.account/Error

AccountHandlerControl_LoadAccount_Result

generated

NameTypeDescription
response AccountHandlerControl_LoadAccount_Response
err fuchsia.identity.account/Error

AccountHandlerControl_RemoveAccount_Result

generated

NameTypeDescription
response AccountHandlerControl_RemoveAccount_Response
err fuchsia.identity.account/Error

AccountHandlerControl_GetAccount_Result

generated

NameTypeDescription
response AccountHandlerControl_GetAccount_Response
err fuchsia.identity.account/Error

AccountHandlerContext_GetAuthProvider_Result

generated

NameTypeDescription
response AccountHandlerContext_GetAuthProvider_Response
err fuchsia.identity.account/Error