Documentation ¶
Overview ¶
Package identityprovider defines a default identity provider for IPFS Log and OrbitDB.
Index ¶
- func AddIdentityProvider(identityProvider func(*CreateIdentityOptions) Interface) error
- func IsSupported(typeName string) bool
- func RemoveIdentityProvider(name string)
- type CborIdentity
- type CborIdentitySignature
- type CreateIdentityOptions
- type Identities
- func (i *Identities) CreateIdentity(options *CreateIdentityOptions) (*Identity, error)
- func (i *Identities) Sign(identity *Identity, data []byte) ([]byte, error)
- func (i *Identities) Verify(signature []byte, publicKey crypto.PubKey, data []byte) (bool, error)
- func (i *Identities) VerifyIdentity(identity *Identity) error
- type Identity
- type IdentitySignature
- type Interface
- type OrbitDBIdentityProvider
- func (p *OrbitDBIdentityProvider) GetID(options *CreateIdentityOptions) (string, error)
- func (*OrbitDBIdentityProvider) GetType() string
- func (p *OrbitDBIdentityProvider) Sign(identity *Identity, data []byte) ([]byte, error)
- func (p *OrbitDBIdentityProvider) SignIdentity(data []byte, id string) ([]byte, error)
- func (p *OrbitDBIdentityProvider) UnmarshalPublicKey(data []byte) (crypto.PubKey, error)
- func (p *OrbitDBIdentityProvider) VerifyIdentity(identity *Identity) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddIdentityProvider ¶
func AddIdentityProvider(identityProvider func(*CreateIdentityOptions) Interface) error
AddIdentityProvider registers an new identity provider.
func IsSupported ¶
IsSupported checks if an identity type is supported.
func RemoveIdentityProvider ¶
func RemoveIdentityProvider(name string)
RemoveIdentityProvider unregisters an identity provider.
Types ¶
type CborIdentity ¶
type CborIdentity struct { ID string PublicKey string Signatures *CborIdentitySignature Type string }
func (*CborIdentity) ToIdentity ¶
func (c *CborIdentity) ToIdentity(provider Interface) (*Identity, error)
ToIdentity converts a CBOR serializable to a plain Identity object.
type CborIdentitySignature ¶
func (*CborIdentitySignature) ToIdentitySignature ¶
func (c *CborIdentitySignature) ToIdentitySignature() (*IdentitySignature, error)
ToIdentitySignature converts a CBOR serializable identity signature to a plain IdentitySignature.
type CreateIdentityOptions ¶
type Identities ¶
type Identities struct {
// contains filtered or unexported fields
}
func (*Identities) CreateIdentity ¶
func (i *Identities) CreateIdentity(options *CreateIdentityOptions) (*Identity, error)
CreateIdentity creates a new Identity.
func (*Identities) Sign ¶
func (i *Identities) Sign(identity *Identity, data []byte) ([]byte, error)
func (*Identities) VerifyIdentity ¶
func (i *Identities) VerifyIdentity(identity *Identity) error
VerifyIdentity checks an identity.
type Identity ¶
type Identity struct { ID string `json:"id,omitempty"` PublicKey []byte `json:"publicKey,omitempty"` Signatures *IdentitySignature `json:"signatures,omitempty"` Type string `json:"type,omitempty"` Provider Interface }
func CreateIdentity ¶
func CreateIdentity(options *CreateIdentityOptions) (*Identity, error)
CreateIdentity creates a new identity.
func (*Identity) Filtered ¶
Filtered gets fields that should be present in the CBOR representation of identity.
func (*Identity) GetPublicKey ¶
GetPublicKey returns the public key of an identity.
func (*Identity) ToCborIdentity ¶
func (i *Identity) ToCborIdentity() *CborIdentity
ToCborIdentity converts an identity to a CBOR serializable identity.
type IdentitySignature ¶
type IdentitySignature struct { ID []byte `json:"id,omitempty"` PublicKey []byte `json:"publicKey,omitempty"` }
func (*IdentitySignature) ToCborIdentitySignature ¶
func (i *IdentitySignature) ToCborIdentitySignature() *CborIdentitySignature
ToCborIdentitySignature converts to a CBOR serialized identity signature a plain IdentitySignature.
type Interface ¶
type Interface interface { // GetID returns id of identity (to be signed by orbit-db public key). GetID(*CreateIdentityOptions) (string, error) // SignIdentity returns signature of OrbitDB public key signature. SignIdentity(data []byte, id string) ([]byte, error) // GetType returns the type for this identity provider. GetType() string // VerifyIdentity checks an identity. VerifyIdentity(identity *Identity) error // Sign will sign a value. Sign(identity *Identity, bytes []byte) ([]byte, error) // UnmarshalPublicKey will provide a crypto.PubKey from a key bytes. UnmarshalPublicKey(data []byte) (crypto.PubKey, error) }
func NewOrbitDBIdentityProvider ¶
func NewOrbitDBIdentityProvider(options *CreateIdentityOptions) Interface
NewOrbitDBIdentityProvider creates a new identity for use with OrbitDB.
type OrbitDBIdentityProvider ¶
type OrbitDBIdentityProvider struct {
// contains filtered or unexported fields
}
func (*OrbitDBIdentityProvider) GetID ¶
func (p *OrbitDBIdentityProvider) GetID(options *CreateIdentityOptions) (string, error)
GetID returns the identity's ID.
func (*OrbitDBIdentityProvider) GetType ¶
func (*OrbitDBIdentityProvider) GetType() string
GetType returns the current identity type.
func (*OrbitDBIdentityProvider) Sign ¶
func (p *OrbitDBIdentityProvider) Sign(identity *Identity, data []byte) ([]byte, error)
Sign signs a value using the current.
func (*OrbitDBIdentityProvider) SignIdentity ¶
func (p *OrbitDBIdentityProvider) SignIdentity(data []byte, id string) ([]byte, error)
SignIdentity signs an OrbitDB identity.
func (*OrbitDBIdentityProvider) UnmarshalPublicKey ¶
func (p *OrbitDBIdentityProvider) UnmarshalPublicKey(data []byte) (crypto.PubKey, error)
func (*OrbitDBIdentityProvider) VerifyIdentity ¶
func (p *OrbitDBIdentityProvider) VerifyIdentity(identity *Identity) error
VerifyIdentity checks an OrbitDB identity.