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

`versionId`/`versionTime` are not defined for DID resolution #66

Open letmaik opened 2 years ago

letmaik commented 2 years ago

https://w3c-ccg.github.io/did-resolution/#versioning says:

If a versionId or versionTime DID parameter is provided, the DID resolution algorithm returns a specific version of the DID document.

DID resolution is defined for a DID, not a DID URL, so the only place where such parameters could go is in the DID Resolution Input Metadata, but currently the only property defined there is accept.

Am I missing something?

clehner commented 2 years ago

I think this specification implies that DID parameters can be used as DID Resolution Input Metadata properties (now called DID Resolution Options in DID Core), in https://w3c-ccg.github.io/did-resolution/#dereferencing-algorithm:

All DID parameters of the input DID URL MUST be passed as input metadata properties to the DID Resolution algorithm.

These properties/options are then passed to the DID method for a Read operation: https://w3c-ccg.github.io/did-resolution/#resolving-algorithm

3.1 Besides the input DID, all additional input metadata properties of this algorithm MUST be passed to the Read operation of the input DID method.

Maybe it would help to propose registering versionId and versionTime in https://www.w3.org/TR/did-spec-registries/ as DID Resolution Input Metadata properties (DID Resolution Options)?

peacekeeper commented 2 years ago

Hello, I agree with @clehner 's interpretation.. The intention is that versionId and versionTime can be passed as resolution options to the resolve() / resolveRepresentation() functions.

And yes the idea was also that if you dereference() a DID URL, then the DID parameters in the DID URL are passed as resolution options to the resolve() / resolveRepresentation() functions.

I just pushed some commits that harmonizes the language in this spec with DID Core (e.g. "input metadata properties" -> "resolution options").

kdenhartog commented 2 years ago

Hello, I agree with @clehner 's interpretation.. The intention is that versionId and versionTime can be passed as resolution options to the resolve() / resolveRepresentation() functions.

And yes the idea was also that if you dereference() a DID URL, then the DID parameters in the DID URL are passed as resolution options to the resolve() / resolveRepresentation() functions.