aries_cloudagent.resolver package
Interfaces and base classes for DID Resolution.
- async aries_cloudagent.resolver.setup(context: aries_cloudagent.config.injection_context.InjectionContext)[source]
Set up default resolvers.
Subpackages
Submodules
aries_cloudagent.resolver.base module
Base Class for DID Resolvers.
- class aries_cloudagent.resolver.base.BaseDIDResolver(type_: Optional[aries_cloudagent.resolver.base.ResolverType] = None)[source]
Bases:
abc.ABC
Base Class for DID Resolvers.
- property native
Return if this resolver is native.
- async resolve(profile: aries_cloudagent.core.profile.Profile, did: Union[str, pydid.DID], service_accept: Optional[Sequence[str]] = None) dict [source]
Resolve a DID using this resolver.
- abstract async setup(context: aries_cloudagent.config.injection_context.InjectionContext)[source]
Do asynchronous resolver setup.
- property supported_did_regex: Pattern
Supported DID regex for matching this resolver to DIDs it can resolve.
Override this property with a class var or similar to use regex matching on DIDs to determine if this resolver supports a given DID.
- property supported_methods: Sequence[str]
Return supported methods.
DEPRECATED: Use supported_did_regex instead.
- async supports(profile: aries_cloudagent.core.profile.Profile, did: str) bool [source]
Return if this resolver supports the given DID.
Override this method to determine if this resolver supports a DID based on information other than just a regular expression; i.e. check a value in storage, query a resolver connection record, etc.
- exception aries_cloudagent.resolver.base.DIDMethodNotSupported(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.resolver.base.ResolverError
Raised when no resolver is registered for a given did method.
- exception aries_cloudagent.resolver.base.DIDNotFound(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.resolver.base.ResolverError
Raised when DID is not found in verifiable data registry.
- class aries_cloudagent.resolver.base.ResolutionMetadata(resolver_type: aries_cloudagent.resolver.base.ResolverType, resolver: str, retrieved_time: str, duration: int)[source]
Bases:
tuple
Resolution Metadata.
- property duration
Alias for field number 3
- property resolver
Alias for field number 1
- property resolver_type
Alias for field number 0
- property retrieved_time
Alias for field number 2
- class aries_cloudagent.resolver.base.ResolutionResult(did_document: dict, metadata: aries_cloudagent.resolver.base.ResolutionMetadata)[source]
Bases:
object
Resolution Class to pack the DID Doc and the resolution information.
- exception aries_cloudagent.resolver.base.ResolverError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.BaseError
Base class for resolver exceptions.
aries_cloudagent.resolver.did_resolver module
the did resolver.
responsible for keeping track of all resolvers. more importantly retrieving did’s from different sources provided by the method type.
- class aries_cloudagent.resolver.did_resolver.DIDResolver(resolvers: Optional[List[aries_cloudagent.resolver.base.BaseDIDResolver]] = None)[source]
Bases:
object
did resolver singleton.
- async dereference(profile: aries_cloudagent.core.profile.Profile, did_url: str, *, document: Optional[pydid.doc.doc.BaseDIDDocument] = None) pydid.Resource [source]
Dereference a DID URL to its corresponding DID Doc object.
- register_resolver(resolver: aries_cloudagent.resolver.base.BaseDIDResolver)[source]
Register a new resolver.
- async resolve(profile: aries_cloudagent.core.profile.Profile, did: Union[str, pydid.DID], service_accept: Optional[Sequence[str]] = None) dict [source]
Resolve a DID.
- async resolve_with_metadata(profile: aries_cloudagent.core.profile.Profile, did: Union[str, pydid.DID]) aries_cloudagent.resolver.base.ResolutionResult [source]
Resolve a DID and return the ResolutionResult.
aries_cloudagent.resolver.routes module
Resolve did document admin routes.
- “/resolver/resolve/{did}”: {
- “get”: {
- “responses”: {
- “200”: {
- “schema”: {
“$ref”: “#/definitions/DIDDoc”
}, “description”: null
}
}, “parameters”: [
- {
“in”: “path”, “name”: “did”, “required”: true, “type”: “string”, “pattern”: “did:([a-z]+):((?:[a-zA-Z0-9._-]*:)*[a-zA-Z0-9._-]+)”, “description”: “decentralize identifier(DID)”, “example”: “did:ted:WgWxqztrNooG92RXvxSTWv”
}
],
“tags”: [ “resolver” ], “summary”: “Retrieve doc for requested did”, “produces”: [ “application/json” ]
}
}
- class aries_cloudagent.resolver.routes.DIDMatchInfoSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Path parameters and validators for request taking DID.
- did
- class aries_cloudagent.resolver.routes.ResolutionResultSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Result schema for did document query.
- did_document
- metadata
- class aries_cloudagent.resolver.routes.W3cDID(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.validate.
Validate value against w3c DID.
- EXAMPLE = 'did:ted:WgWxqztrNooG92RXvxSTWv'