Crate ockam_entity[][src]

Expand description

Entity is an abstraction over Profiles and Vaults, easing the use of these primitives in authentication and authorization APIs.

Modules

authentication

Entity auth

change

Entity changes

contacts

Entity contacts

history

Profile history

identifiers

Entity identifiers

secrets

Entity secrets

Structs

Changes

Profile changes with a given event identifier

Contact

Contact is an abstraction responsible for storing user’s public data (mainly - public keys). It is designed to share users’ public keys in cryptographically verifiable way. Public keys together with metadata are organised into verifiable events chain exactly like crate::Profile. There are two ways to get Contact:

CreateKeyChange

Key change creation

CreateKeyChangeData

Key change data creation

Entity

An Entity represents an identity in various authentication contexts.

EventIdentifier

Unique crate::ProfileChangeEvent identifier, computed as SHA256 of the event data

KeyAttributes

Attributes that are used to identify key

Profile

Profile is an abstraction responsible for keeping, verifying and modifying user’s data (mainly - public keys). It is used to create new keys, rotate and revoke them. Public keys together with metadata will be organised into events chain, corresponding secret keys will be saved into the given Vault implementation. Events chain and corresponding secret keys are what fully determines Profile.

ProfileChange

Individual change applied to profile. ProfileChangeEvent consists of one or more such changes

ProfileChangeEvent

crate::Profiles are modified using change events mechanism. One event may have 1 or more ProfileChanges Proof is used to check whether this event comes from a party authorized to perform such updated Individual changes may include additional proofs, if needed

ProfileEventAttributeKey

Pre-defined keys in ProfileEventAttributes map

ProfileIdentifier

An identifier of a Profile.

ProfileImpl

Profile implementation

ProfileSync

Synchronous worker wrapper around a Profile

ProfileWorker

A Worker wrapper for a Profile

RotateKeyChange

RotateKeyChange

RotateKeyChangeData

RotateKeyChangeData

Signature

Signature, its type and data

Enums

ProfileChangeProof

Variants of proofs that are allowed on a crate::Profile change

ProfileChangeType

Possible types of crate::Profile changes

SignatureType

Types of proof signatures.

Traits

BigArray
ProfileAuth

Profile authentication support.

ProfileChanges

Profile verified change history.

ProfileContacts

Profile contact management.

ProfileIdentity

Profile identity.

ProfileSecrets

Profile secret management.

ProfileTrait

Supertrait of a Profile

ProfileVault

Traits required for a Vault implementation suitable for use in a Profile

SecureChannelTrait

A trait that represents the two endpoints of a secure channel.

Type Definitions

ContactsDb

Contacts Database

ProfileEventAttributes

Profile event attributes