pub enum AccountRequest {
GetAuthState {
responder: AccountGetAuthStateResponder,
},
RegisterAuthListener {
payload: AuthTargetRegisterAuthListenerRequest,
responder: AccountRegisterAuthListenerResponder,
},
GetLifetime {
responder: AccountGetLifetimeResponder,
},
GetPersonaIds {
responder: AccountGetPersonaIdsResponder,
},
GetDefaultPersona {
persona: ServerEnd<PersonaMarker>,
responder: AccountGetDefaultPersonaResponder,
},
GetPersona {
id: u64,
persona: ServerEnd<PersonaMarker>,
responder: AccountGetPersonaResponder,
},
GetAuthMechanismEnrollments {
responder: AccountGetAuthMechanismEnrollmentsResponder,
},
CreateAuthMechanismEnrollment {
interaction: ServerEnd<InteractionMarker>,
responder: AccountCreateAuthMechanismEnrollmentResponder,
},
RemoveAuthMechanismEnrollment {
enrollment_id: u64,
responder: AccountRemoveAuthMechanismEnrollmentResponder,
},
StorageLock {
responder: AccountStorageLockResponder,
},
InteractionLock {
responder: AccountInteractionLockResponder,
},
GetDataDirectory {
data_directory: ServerEnd<DirectoryMarker>,
responder: AccountGetDataDirectoryResponder,
},
}
Expand description
A protocol that exposes information about the personae for a system account and provides methods to manipulate these. It also exposes a writable data directory.
An Account provides access to sensitive long term identifiers and is only intended only for use by a small number of trusted system components.
Variants§
GetAuthState
Fields
responder: AccountGetAuthStateResponder
Returns the current AuthState
of the target.
Returns: auth_state
The target’s current authentication state.
RegisterAuthListener
Fields
responder: AccountRegisterAuthListenerResponder
Connects a channel that will receive changes in the authentication state of the target.
listener
[required] The client end of an AuthListener
channel
initial_state
If true, the listener will receive the initial auth
state in addition to any changes.
granularity
An AuthChangeGranularity
expressing the magnitude of
change in authentication state that will lead to
AuthStateChange events.
GetLifetime
Fields
responder: AccountGetLifetimeResponder
Returns the account’s lifetime.
GetPersonaIds
Fields
responder: AccountGetPersonaIdsResponder
Returns a vector of all the personae defined for the account. NOTE: Currently all accounts have exactly one persona.
GetDefaultPersona
Connects a channel to read properties of and access tokens for the default persona for the account.
persona
The server end of a Persona
channel
Returns: id
The identifier for the default persona
GetPersona
Connects a channel to read properties of and access tokens for one of the personae for the account.
id
The persona’s identifier as returned by GetPersonaIds()
persona
The server end of a Persona
channel
GetAuthMechanismEnrollments
Fields
responder: AccountGetAuthMechanismEnrollmentsResponder
Returns all authentication mechanism enrollments.
CreateAuthMechanismEnrollment
Fields
interaction: ServerEnd<InteractionMarker>
Create a new enrollment of the provided authentication mechanism, and add it to the account.
interaction
An Interaction
channel enabling the user to enroll a new
authentication mechanism or complete authentication
challenges using an existing mechanism if these are
necessary.
Returns: The AuthMechanismEnrollmentId
of the created enrollment.
RemoveAuthMechanismEnrollment
Remove an authentication mechanism enrollment for the account.
enrollment_id
The id of the enrollment to remove.
StorageLock
Fields
responder: AccountStorageLockResponder
Locks all access to an account and its storage. After a successful call, all Account and Persona channels for this account will be terminated.
InteractionLock
Fields
responder: AccountInteractionLockResponder
Locks interaction with an account. After a successful call, the account
AuthStateSummary will be set to INTERACTION_LOCKED
.
Fails with FailedPrecondition if authentication is not enabled for the account.
GetDataDirectory
Connects a channel to access a data directory of the account. The directory is writable, and is initially empty for a newly created account. The directory is persisted according to the lifetime of the account and is never modified by the account system.
NOTE: This method should only be called by the root session component instance. Multiple component instance clients are not yet supported.
data_directory
The server end of a fuchsia.io.Directory
channel
Implementations§
source§impl AccountRequest
impl AccountRequest
pub fn into_get_auth_state(self) -> Option<AccountGetAuthStateResponder>
pub fn into_register_auth_listener( self ) -> Option<(AuthTargetRegisterAuthListenerRequest, AccountRegisterAuthListenerResponder)>
pub fn into_get_lifetime(self) -> Option<AccountGetLifetimeResponder>
pub fn into_get_persona_ids(self) -> Option<AccountGetPersonaIdsResponder>
pub fn into_get_default_persona( self ) -> Option<(ServerEnd<PersonaMarker>, AccountGetDefaultPersonaResponder)>
pub fn into_get_persona( self ) -> Option<(u64, ServerEnd<PersonaMarker>, AccountGetPersonaResponder)>
pub fn into_get_auth_mechanism_enrollments( self ) -> Option<AccountGetAuthMechanismEnrollmentsResponder>
pub fn into_create_auth_mechanism_enrollment( self ) -> Option<(ServerEnd<InteractionMarker>, AccountCreateAuthMechanismEnrollmentResponder)>
pub fn into_remove_auth_mechanism_enrollment( self ) -> Option<(u64, AccountRemoveAuthMechanismEnrollmentResponder)>
pub fn into_storage_lock(self) -> Option<AccountStorageLockResponder>
pub fn into_interaction_lock(self) -> Option<AccountInteractionLockResponder>
pub fn into_get_data_directory( self ) -> Option<(ServerEnd<DirectoryMarker>, AccountGetDataDirectoryResponder)>
sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL