Versions in this module Expand all Collapse all v2 v2.0.0 Feb 17, 2023 Changes in this version + const AuthenticationKeyType + const AuthenticationKeyTypeString + const DefaultAuthTokenStartOffset + const DocumentContext + const MetricErrorTypeApplication + const MetricErrorTypeConnection + const MetricErrorTypeNotFound + const MetricErrorTypeServer + const MetricErrorTypeTimeout + const MetricNamespace + const MetricResolverErrors + const MetricSubsystem + const PublicKeyType + const PublicKeyTypeString + func CloneRegisterDelegationProof(obj map[string]*RegisterDelegationProof) map[string]*RegisterDelegationProof + func CloneRegisterPublicKey(obj map[string]*RegisterPublicKey) map[string]*RegisterPublicKey + func GetResolverFromEnv() (string, error) + func IsAllowFor(ctx context.Context, resolverClient ResolverClient, issuer *Issuer, ...) (bool, error) + func IsContextError(err error) bool + func IsResolverError(err error) bool + func NewResolverError(err error, errType ResolverErrType) error + func RegisterMetrics(registry *prometheus.Registry) + func ResetMetrics() + func ValidateAllowedForAuth(ctx context.Context, resolverClient ResolverClient, issuer *Issuer, ...) error + func ValidateAllowedForControl(ctx context.Context, resolverClient ResolverClient, issuer *Issuer, ...) error + func ValidateDelegation(ctx context.Context, resolverClient ResolverClient, registeredID string, ...) error + type AuthenticationClaims struct + Audience string + ExpiresAt int64 + IssuedAt int64 + Issuer *Issuer + Subject string + func DecodeAuthToken(token JwtToken, publicKeyBase58 string, audience string) (*AuthenticationClaims, error) + func DecodeAuthTokenNoVerify(token JwtToken) (*AuthenticationClaims, error) + func VerifyAuthentication(ctx context.Context, resolverClient ResolverClient, token JwtToken) (*AuthenticationClaims, error) + type ChallengeClaims struct + Audience string + Issuer *Issuer + Signature string + func DecodeChallengeToken(token JwtToken, publicKeyBase58 string, audience string) (*ChallengeClaims, error) + func DecodeChallengeTokenNoVerify(token JwtToken) (*ChallengeClaims, error) + type DelegationProofType string + const DidProof + const GenericProof + type DidDocumentClaims struct + Audience string + Doc *RegisterDocument + Issuer *Issuer + func DecodeDocumentToken(token JwtToken, publicKeyBase58 string, audience string) (*DidDocumentClaims, error) + func DecodeDocumentTokenNoVerify(token JwtToken) (*DidDocumentClaims, error) + type Issuer struct + Did string + Name string + func NewIssuer(did string, name string) (*Issuer, error) + func NewIssuerFromString(issuerString string) (*Issuer, error) + func (i Issuer) String() string + type IssuerKey struct + Issuer *Issuer + PublicKeyBase58 string + func NewIssuerKey(did string, name string, publicKeyBase58 string) (*IssuerKey, error) + type JwtToken string + func CreateAuthToken(issuer *Issuer, subject string, audience string, duration time.Duration, ...) (JwtToken, error) + func CreateChallengeToken(pr *proof.Proof, privateKey *ecdsa.PrivateKey) (JwtToken, error) + func CreateDocumentToken(issuer *Issuer, audience string, doc *RegisterDocument, ...) (JwtToken, error) + type KeyType uint + func NewKeyType(value string) (KeyType, error) + func (keyType KeyType) String() string + type Metadata struct + Comment string + Label string + URL string + type RegisterDelegationProof struct + Controller string + ID string + Proof string + ProofType DelegationProofType + Revoked bool + func GetIssuerRegisterDelegationProof(issuerName string, document *RegisterDocument, includeAuth bool) (*RegisterDelegationProof, error) + func GetIssuerRegisterDelegationProofByController(controller string, document *RegisterDocument, includeAuth bool) (*RegisterDelegationProof, error) + func NewRegisterDelegationProof(name string, controller string, proof string, proofType DelegationProofType, ...) (*RegisterDelegationProof, error) + func (r RegisterDelegationProof) Clone() (*RegisterDelegationProof, error) + type RegisterDocument struct + AuthenticationKeys []RegisterPublicKey + Context string + Controller string + Creator string + DelegateAuthentication []RegisterDelegationProof + DelegateControl []RegisterDelegationProof + ID string + IoticsDIDType string + IoticsSpecVersion string + Metadata Metadata + Proof string + PublicKeys []RegisterPublicKey + Revoked bool + UpdateTime int64 + func NewRegisterDocument(opts []RegisterDocumentOpts) (*RegisterDocument, []error) + func (document RegisterDocument) PublicKeyByID(id string) *RegisterPublicKey + func (document RegisterDocument) Validate() []error + type RegisterDocumentBuilder struct + AuthenticationKeys map[string]*RegisterPublicKey + Controller string + Creator string + DelegateAuthentication map[string]*RegisterDelegationProof + DelegateControl map[string]*RegisterDelegationProof + ID string + Metadata Metadata + Proof string + PublicKeys map[string]*RegisterPublicKey + Purpose string + Revoked bool + SpecVersion string + UpdateTime int64 + func (b RegisterDocumentBuilder) Clone() *RegisterDocumentBuilder + type RegisterDocumentOpts func(builder *RegisterDocumentBuilder) error + func AddAuthenticationDelegation(name string, controller string, proof string, proofType DelegationProofType, ...) RegisterDocumentOpts + func AddAuthenticationDelegationObj(obj *RegisterDelegationProof) RegisterDocumentOpts + func AddAuthenticationKey(name string, publicKeyBase58 string, revoked bool) RegisterDocumentOpts + func AddAuthenticationKeyObj(obj *RegisterPublicKey) RegisterDocumentOpts + func AddControlDelegation(name string, controller string, proof string, proofType DelegationProofType, ...) RegisterDocumentOpts + func AddControlDelegationObj(obj *RegisterDelegationProof) RegisterDocumentOpts + func AddFromExistingDocument(doc *RegisterDocument) RegisterDocumentOpts + func AddPublicKey(name string, publicKeyBase58 string, revoked bool) RegisterDocumentOpts + func AddPublicKeyObj(obj *RegisterPublicKey) RegisterDocumentOpts + func AddRootParams(id string, purpose identity.DidType, proof string, revoked bool) RegisterDocumentOpts + func RemoveKey(name string) RegisterDocumentOpts + func RevokeKey(name string) RegisterDocumentOpts + func SetDocumentController(controller string) RegisterDocumentOpts + func SetDocumentCreator(creator string) RegisterDocumentOpts + func SetDocumentRevoked(revoked bool) RegisterDocumentOpts + type RegisterPublicKey struct + ID string + PublicKeyBase58 string + Revoked bool + Type string + func GetIssuerRegisterKey(issuerName string, document *RegisterDocument, includeAuth bool) (*RegisterPublicKey, error) + func GetOwnerRegisterPublicKey(document *RegisterDocument) (*RegisterPublicKey, error) + func NewRegisterPublicKey(name string, keyType KeyType, publicKeyBase58 string, revoked bool) (*RegisterPublicKey, error) + func NewRegisterPublicKeyFromMap(data map[string]interface{}) (*RegisterPublicKey, error) + func (r RegisterPublicKey) Base58() string + func (r RegisterPublicKey) Clone() (*RegisterPublicKey, error) + func (r RegisterPublicKey) Equal(other RegisterPublicKey) bool + func (r RegisterPublicKey) IsRevoked() bool + func (r RegisterPublicKey) ToMap() map[string]interface{} + type RegisteredIdentity interface + Did func() string + Issuer func() *Issuer + KeyPair func() *crypto.KeyPair + Name func() string + func NewRegisteredIdentity(keyPair *crypto.KeyPair, issuer *Issuer) RegisteredIdentity + type ResolverClient interface + GetDocument func(ctx context.Context, documentID string) (*RegisterDocument, error) + RegisterDocument func(ctx context.Context, doc *RegisterDocument, privateKey *ecdsa.PrivateKey, ...) error + func NewDefaultRestResolverClient(url *url.URL) ResolverClient + func NewRestResolverClient(url *url.URL, timeout time.Duration) ResolverClient + func NewRestResolverClientWithCustomClient(url *url.URL, client *http.Client) ResolverClient + type ResolverErrType int + const ConfError + const ConnectionError + const NotFound + const ServerError + type ResolverError struct + func (r ResolverError) Err() error + func (r ResolverError) Error() string + func (r ResolverError) ErrorType() ResolverErrType + type RestResolverClient struct + func (c *RestResolverClient) GetDocument(ctx context.Context, documentID string) (*RegisterDocument, error) + func (c *RestResolverClient) RegisterDocument(ctx context.Context, document *RegisterDocument, privateKey *ecdsa.PrivateKey, ...) error Other modules containing this package github.com/Iotic-Labs/iotics-identity-go github.com/Iotic-Labs/iotics-identity-go/v3