w3c / did-resolution

RELEASED DRAFT: Decentralized Identifier Resolution (DID Resolution) 0.2 Specification
https://w3c.github.io/did-resolution/
Other
14 stars 9 forks source link

DID Resolution Result for DID URL Dereferencing #69

Open clehner opened 2 years ago

clehner commented 2 years ago

DID Resolution Result says:

This section defines a data structure that represents the result of the algorithms described in § 3. Resolving a DID and § 4. Dereferencing a DID URL. A DID resolution result contains a DID document as well as DID resolution metadata and DID document metadata.

The result of § 4. Dereferencing a DID URL might not be a DID document but could be something else, e.g. a verification method (Example 8), or a output service endpoint URL (Example 10). DID Core (in § 7.2 DID URL Dereferencing.) says that contentStream, the resource part of the return value of DID URL dereferencing, "MAY be a resource such as a DID document that is serializable in one of the conformant representations, a Verification Method, a service, or any other resource format that can be identified via a Media Type and obtained through the resolution process".

Should the DID Resolution Result section, and the JSON-LD context file, be updated to support DID URL dereferencing results other than DID documents?

In DID Test Suite there are examples of outputs of DID URL dereferencing, similar to the outputs for DID resolution, which perhaps could be useful here. In these, the contentStream property is a string (even if the content is a DID Document or JSON/JSON-LD object), dereferencingMetadata is an object, like didResolutionMetadata; and contentMetadata is an object, like didDocumentMetadata. e.g.:

peacekeeper commented 2 years ago

Should the DID Resolution Result section, and the JSON-LD context file, be updated to support DID URL dereferencing results other than DID documents?

@clehner yes definitely. You correctly identified a gap where the DID Resolution spec is lagging behind DID Core a bit. This spec needs to better describe the output structures of DID URL dereferencing.

I wrote the part of the DID test suite that deals with resolving and dereferencing, and I agree this should also be reflected here. I'll try to work on this as soon as there's a bit of time.