DID URL Dereferencing
DID URL dereferencing retrieves resources using DID URLs. This differs from DID resolution, which retrieves complete DID documents.
DID Resolution vs. DID URL Dereferencing
Section titled “DID Resolution vs. DID URL Dereferencing”These two processes serve different but complementary purposes in the DID ecosystem:
| Process | Purpose | Input | Output |
|---|---|---|---|
| DID Resolution | Obtains a DID document for a given DID | A DID (did:example:123) | A complete DID document |
| DID URL Dereferencing | Retrieves a specific resource identified by a DID URL | A DID URL (did:example:123/path?query#fragment) | A specific resource (document fragment, verification method, service endpoint, or external resource) |
How DID URL Dereferencing Works
Section titled “How DID URL Dereferencing Works”The dereferencing process:
- Parse the DID URL to extract the DID and additional components
- Resolve the DID to obtain the DID document
- Identify the target resource based on additional components
- Return the resource
A DID URL contains the DID (base identifier), path (specific resource), query parameters (additional instructions), and fragment (specific part of resource) that determine what resource is returned.
Common Use Cases for DID URL Dereferencing
Section titled “Common Use Cases for DID URL Dereferencing”DID URL dereferencing enables verification method access (retrieving specific cryptographic keys), service endpoint retrieval (accessing associated service endpoints), external resource access (obtaining controller-hosted resources), historical version access (retrieving specific document versions), and linked resource retrieval (obtaining registry-linked resources).
Dereferencing Outcomes
Section titled “Dereferencing Outcomes”Dereferencing outcomes: success with resource (returns requested resource), success with redirection (resource located elsewhere), or failure (invalid DID URL, resource not found, lack of permissions).
Metadata in DID URL Dereferencing
Section titled “Metadata in DID URL Dereferencing”Metadata includes dereferencing options (input metadata affecting how dereferencing occurs), dereferencing metadata (output metadata about the process), and content metadata (resource information).
Processing DID URL Parameters
Section titled “Processing DID URL Parameters”DID URL parameters influence how dereferencing happens:
service: Identifies a service endpoint in the DID documentrelativeRef: Specifies a resource relative to a service endpointversionId: Requests a specific version of a DID documentversionTime: Requests the DID document as it existed at a specific timehl: Provides integrity protection through resource hashing
Error Handling in Dereferencing
Section titled “Error Handling in Dereferencing”Dereferencing failures return specific error codes: invalidDidUrl (invalid syntax), notFound (resource doesn’t exist), and contentTypeNotSupported (content type unavailable).
Relationship to the Vidos Universal Resolver
Section titled “Relationship to the Vidos Universal Resolver”The Vidos Universal Resolver implements DID URL dereferencing according to W3C DID Core specification, providing standardized resource access across different DID methods.
Security and Privacy Considerations
Section titled “Security and Privacy Considerations”Consider that dereferencing might reveal accessed resources, some resources may require authentication/authorization, verify integrity of retrieved resources for critical operations, and consider caching implications for frequently accessed resources.