acapy_agent.resolver package
Interfaces and base classes for DID Resolution.
- async acapy_agent.resolver.setup(context: InjectionContext)[source]
Set up default resolvers.
Subpackages
- acapy_agent.resolver.default package
- Submodules
- acapy_agent.resolver.default.indy module
- acapy_agent.resolver.default.jwk module
- acapy_agent.resolver.default.key module
- acapy_agent.resolver.default.legacy_peer module
- acapy_agent.resolver.default.peer1 module
- acapy_agent.resolver.default.peer2 module
- acapy_agent.resolver.default.peer3 module
- acapy_agent.resolver.default.peer4 module
- acapy_agent.resolver.default.universal module
- acapy_agent.resolver.default.web module
- acapy_agent.resolver.default.webvh module
Submodules
acapy_agent.resolver.base module
Base Class for DID Resolvers.
- class acapy_agent.resolver.base.BaseDIDResolver(type_: ResolverType | None = None)[source]
Bases:
ABCBase Class for DID Resolvers.
- DEFAULT_TTL = 3600
- property native
Return if this resolver is native.
- async resolve(profile: Profile, did: str | pydid.DID, service_accept: Sequence[str] | None = None) dict[source]
Resolve a DID using this resolver.
Handles caching of results.
- abstractmethod async setup(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: 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 acapy_agent.resolver.base.DIDMethodNotSupported(*args, error_code: str | None = None, **kwargs)[source]
Bases:
ResolverErrorRaised when no resolver is registered for a given did method.
- exception acapy_agent.resolver.base.DIDNotFound(*args, error_code: str | None = None, **kwargs)[source]
Bases:
ResolverErrorRaised when DID is not found in verifiable data registry.
- class acapy_agent.resolver.base.ResolutionMetadata(resolver_type: ResolverType, resolver: str, retrieved_time: str, duration: int)[source]
Bases:
NamedTupleResolution Metadata.
- duration: int
Alias for field number 3
- resolver: str
Alias for field number 1
- resolver_type: ResolverType
Alias for field number 0
- retrieved_time: str
Alias for field number 2
- class acapy_agent.resolver.base.ResolutionResult(did_document: dict, metadata: ResolutionMetadata, document_metadata: dict | None = None)[source]
Bases:
objectResolution Class to pack the DID Doc and the resolution information.
acapy_agent.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 acapy_agent.resolver.did_resolver.DIDResolver(resolvers: List[BaseDIDResolver] | None = None)[source]
Bases:
objectdid resolver singleton.
- DEFAULT_TIMEOUT = 30
- async dereference(profile: Profile, did_url: str, *, document: pydid.doc.doc.BaseDIDDocument | None = None) pydid.Resource[source]
Dereference a DID URL to its corresponding DID Doc object.
- async dereference_verification_method(profile: Profile, did_url: str, *, document: pydid.doc.doc.BaseDIDDocument | None = None) pydid.VerificationMethod[source]
Dereference a DID URL to a verification method.
- register_resolver(resolver: BaseDIDResolver)[source]
Register a new resolver.
- async resolve(profile: Profile, did: str | pydid.DID, service_accept: Sequence[str] | None = None, *, timeout: int | None = None) dict[source]
Resolve a DID.
- async resolve_with_metadata(profile: Profile, did: str | pydid.DID, *, timeout: int | None = None) ResolutionResult[source]
Resolve a DID and return the ResolutionResult.
acapy_agent.resolver.routes module
Resolve did document admin routes.
- class acapy_agent.resolver.routes.DIDMatchInfoSchema(*args: Any, **kwargs: Any)[source]
Bases:
OpenAPISchemaPath parameters and validators for request taking DID.
- class acapy_agent.resolver.routes.ResolutionResultSchema(*args: Any, **kwargs: Any)[source]
Bases:
OpenAPISchemaResult schema for did document query.
- class acapy_agent.resolver.routes.W3cDID(*args: Any, **kwargs: Any)[source]
Bases:
RegexpValidate value against w3c DID.
- EXAMPLE = 'did:ted:WgWxqztrNooG92RXvxSTWv'