[][src]Trait ironoxide::user::UserOps

pub trait UserOps {
    fn user_create(jwt: &str, password: &str) -> Result<UserCreateKeyPair>;
fn user_list_devices(&self) -> Result<UserDeviceListResult>;
fn generate_new_device(
        jwt: &str,
        password: &str,
        device_create_options: &DeviceCreateOpts
    ) -> Result<DeviceContext>;
fn user_delete_device(
        &self,
        device_id: Option<&DeviceId>
    ) -> Result<DeviceId>;
fn user_verify(jwt: &str) -> Result<Option<UserVerifyResult>>;
fn user_get_public_key(
        &self,
        users: &[UserId]
    ) -> Result<HashMap<UserId, PublicKey>>; }

Required methods

fn user_create(jwt: &str, password: &str) -> Result<UserCreateKeyPair>

Sync a new user within the IronCore system.

Arguments

  • jwt - Valid IronCore or Auth0 JWT
  • password - Password used to encrypt and escrow the user's private master key

Returns

Newly generated UserCreateKeyPair or Err

fn user_list_devices(&self) -> Result<UserDeviceListResult>

Get all the devices for the current user

Returns

All devices for the current user, sorted by the device id.

fn generate_new_device(
    jwt: &str,
    password: &str,
    device_create_options: &DeviceCreateOpts
) -> Result<DeviceContext>

Generates a new device for the user specified in the signed JWT.

This will result in a new transform key (from the user's master private key to the new device's public key) being generated and stored with the IronCore Service.

Arguments

  • jwt - Valid IronCore JWT
  • password - Password used to encrypt and escrow the user's private key
  • device_create_options - Optional device create arguments, like device name

Returns

Details about the newly created device.

fn user_delete_device(&self, device_id: Option<&DeviceId>) -> Result<DeviceId>

Delete a user device.

If deleting the currently signed in device (None for device_id), the sdk will need to be reinitialized with IronOxide.initialize() before further use.

Arguments

  • device_id - ID of the device to delete. Get from user_list_devices. If None, deletes the currently SDK contexts device which once deleted will cause this SDK instance to no longer function.

Returns

Id of deleted device or IronOxideErr

fn user_verify(jwt: &str) -> Result<Option<UserVerifyResult>>

Verify a user given a JWT for their user record.

Arguments

  • jwt - Valid IronCore JWT

Returns

Option of whether the users account record exists in the IronCore system or not. Err if the request couldn't be made.

fn user_get_public_key(
    &self,
    users: &[UserId]
) -> Result<HashMap<UserId, PublicKey>>

Get a list of user public keys given their IDs. Allows discovery of which user IDs have keys in the IronCore system to determine of they can be added to groups or have documents shared with them.AsMut

Arguments

  • users - List of user IDs to check

Returns

Map from user ID to users public key. Only users who have public keys will be returned in the map.

Loading content...

Implementors

impl UserOps for IronOxide[src]

Loading content...