Documentation
¶
Index ¶
- func WrapWithType(idType Type, id driver.Identity) (driver.Identity, error)
- type Binder
- type Deserializer
- type EnrollmentIDUnmarshaler
- type Identity
- type Keystore
- type Provider
- func (p *Provider) Bind(longTerm driver.Identity, ephemeral driver.Identity, copyAll bool) error
- func (p *Provider) GetAuditInfo(identity driver.Identity) ([]byte, error)
- func (p *Provider) GetEIDAndRH(identity driver.Identity, auditInfo []byte) (string, string, error)
- func (p *Provider) GetEnrollmentID(identity driver.Identity, auditInfo []byte) (string, error)
- func (p *Provider) GetRevocationHandler(identity driver.Identity, auditInfo []byte) (string, error)
- func (p *Provider) GetSigner(identity driver.Identity) (driver.Signer, error)
- func (p *Provider) IsMe(identity driver.Identity) bool
- func (p *Provider) RegisterAuditInfo(identity driver.Identity, info []byte) error
- func (p *Provider) RegisterRecipientData(data *driver.RecipientData) error
- func (p *Provider) RegisterRecipientIdentity(id driver.Identity) error
- func (p *Provider) RegisterSigner(identity driver.Identity, signer driver.Signer, verifier driver.Verifier, ...) error
- func (p *Provider) RegisterVerifier(identity driver.Identity, v driver.Verifier) error
- type Role
- type Roles
- type Storage
- type StorageProvider
- type Type
- type TypedIdentity
- type WalletRegistry
- func (r *WalletRegistry) BindIdentity(identity driver.Identity, eID string, wID string, meta any) error
- func (r *WalletRegistry) ContainsIdentity(identity driver.Identity, wID string) bool
- func (r *WalletRegistry) GetIdentityMetadata(identity driver.Identity, wID string, meta any) error
- func (r *WalletRegistry) GetWalletID(identity driver.Identity) (string, error)
- func (r *WalletRegistry) Lookup(id driver.WalletLookupID) (driver.Wallet, driver.IdentityInfo, string, error)
- func (r *WalletRegistry) RegisterIdentity(config driver.IdentityConfiguration) error
- func (r *WalletRegistry) RegisterWallet(id string, w driver.Wallet) error
- func (r *WalletRegistry) WalletIDs() ([]string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Deserializer ¶
type Deserializer interface { // DeserializeSigner deserializes a signer from its bytes representation DeserializeSigner(raw []byte) (driver.Signer, error) }
Deserializer is an interface for deserializing identities
type EnrollmentIDUnmarshaler ¶
type EnrollmentIDUnmarshaler interface { // GetEnrollmentID returns the enrollment ID from the audit info GetEnrollmentID(identity driver.Identity, auditInfo []byte) (string, error) // GetRevocationHandler returns the revocation handle from the audit info GetRevocationHandler(identity driver.Identity, auditInfo []byte) (string, error) // GetEIDAndRH returns both enrollment ID and revocation handle GetEIDAndRH(identity driver.Identity, auditInfo []byte) (string, string, error) }
EnrollmentIDUnmarshaler decodes an enrollment ID form an audit info
type Provider ¶
type Provider struct { SigService sigService Binder Binder Storage Storage // contains filtered or unexported fields }
Provider implements the driver.IdentityProvider interface. Provider handles the long-term identities on top of which wallets are defined.
func NewProvider ¶
func NewProvider(Storage Storage, sigService sigService, binder Binder, enrollmentIDUnmarshaler EnrollmentIDUnmarshaler) *Provider
NewProvider creates a new identity provider implementing the driver.IdentityProvider interface. The Provider handles the long-term identities on top of which wallets are defined.
func (*Provider) GetAuditInfo ¶
func (*Provider) GetEIDAndRH ¶
func (*Provider) GetEnrollmentID ¶
func (*Provider) GetRevocationHandler ¶
func (*Provider) RegisterAuditInfo ¶
func (*Provider) RegisterRecipientData ¶
func (p *Provider) RegisterRecipientData(data *driver.RecipientData) error
func (*Provider) RegisterRecipientIdentity ¶
func (*Provider) RegisterSigner ¶
type Role ¶
type Role interface { // ID returns the identifier of this role ID() driver.IdentityRole // MapToID returns the long-term identity and its identifier for the given index. // The index can be an identity or a label (string). MapToID(v driver.WalletLookupID) (driver.Identity, string, error) // GetIdentityInfo returns the long-term identity info associated to the passed id GetIdentityInfo(id string) (driver.IdentityInfo, error) // RegisterIdentity registers the given identity RegisterIdentity(config driver.IdentityConfiguration) error // IdentityIDs returns the identifiers contained in this role IdentityIDs() ([]string, error) }
Role is a container of long-term identities. A long-term identity is then used to construct a wallet.
type Roles ¶
type Roles map[driver.IdentityRole]Role
Roles is a map of Role, one for each identity role
type StorageProvider ¶
type StorageProvider interface { OpenWalletDB(tmsID token.TMSID) (driver.WalletDB, error) OpenIdentityDB(tmsID token.TMSID) (driver.IdentityDB, error) NewKeystore() (Keystore, error) }
func GetStorageProvider ¶
func GetStorageProvider(sp token.ServiceProvider) (StorageProvider, error)
GetStorageProvider returns the registered instance of StorageProvider from the passed service provider
type TypedIdentity ¶
type TypedIdentity struct { // Type encodes the type of the identity Type Type `protobuf:"bytes,1,opt,name=type,json=type,proto3" json:"type,omitempty"` // Identity encodes the identity itself Identity Identity `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` }
TypedIdentity encodes an identity with a type.
func UnmarshalTypedIdentity ¶
func UnmarshalTypedIdentity(id driver.Identity) (*TypedIdentity, error)
func (TypedIdentity) Bytes ¶
func (i TypedIdentity) Bytes() ([]byte, error)
type WalletRegistry ¶
WalletRegistry manages wallets whose long-term identities have a given role.
func NewWalletRegistry ¶
func NewWalletRegistry(role Role, storage db.WalletDB) *WalletRegistry
NewWalletRegistry returns a new registry for the passed parameters. A registry is bound to a given role, and it is persistent. Long-term identities are provided by the passed identity provider
func (*WalletRegistry) BindIdentity ¶
func (r *WalletRegistry) BindIdentity(identity driver.Identity, eID string, wID string, meta any) error
BindIdentity binds the passed identity to the passed wallet identifier. Additional metadata can be bound to the identity.
func (*WalletRegistry) ContainsIdentity ¶
func (r *WalletRegistry) ContainsIdentity(identity driver.Identity, wID string) bool
ContainsIdentity returns true if the passed identity belongs to the passed wallet, false otherwise
func (*WalletRegistry) GetIdentityMetadata ¶
GetIdentityMetadata loads metadata bound to the passed identity into the passed meta argument
func (*WalletRegistry) GetWalletID ¶
func (r *WalletRegistry) GetWalletID(identity driver.Identity) (string, error)
GetWalletID returns the wallet identifier bound to the passed identity
func (*WalletRegistry) Lookup ¶
func (r *WalletRegistry) Lookup(id driver.WalletLookupID) (driver.Wallet, driver.IdentityInfo, string, error)
Lookup searches the wallet corresponding to the passed id. If a wallet is found, Lookup returns the wallet and its identifier. If no wallet is found, Lookup returns the identity info and a potential wallet identifier for the passed id, if anything is found
func (*WalletRegistry) RegisterIdentity ¶
func (r *WalletRegistry) RegisterIdentity(config driver.IdentityConfiguration) error
func (*WalletRegistry) RegisterWallet ¶
func (r *WalletRegistry) RegisterWallet(id string, w driver.Wallet) error
RegisterWallet binds the passed wallet to the passed id
func (*WalletRegistry) WalletIDs ¶
func (r *WalletRegistry) WalletIDs() ([]string, error)
WalletIDs returns the list of wallet identifiers