Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

versionId/versionTime are not defined for DID resolution #66

Open
letmaik opened this issue Jul 15, 2021 · 7 comments
Open

versionId/versionTime are not defined for DID resolution #66

letmaik opened this issue Jul 15, 2021 · 7 comments
Labels
enhancement New feature or request

Comments

@letmaik
Copy link

letmaik commented Jul 15, 2021

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
Copy link
Member

clehner commented Jul 23, 2021

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
Copy link
Collaborator

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").

@peacekeeper peacekeeper added the enhancement New feature or request label Aug 29, 2024
@wip-abramson
Copy link
Contributor

I wonder if we can address @clehner's proposal by adding a sentence to the DID Resolution Options - https://w3c.github.io/did-extensions/resolution/#did-resolution-options - that states something like.

Additionally, all DID URL Parameters are valid DID Resolution Options.

@peacekeeper
Copy link
Collaborator

I like this suggestion @wip-abramson

@wip-abramson
Copy link
Contributor

Happy to submit a PR for this to DID extensions, if we are happy this is the direction to go in.

@w3cbot
Copy link

w3cbot commented Jan 30, 2025

This was discussed during the #did meeting on 30 January 2025.

View the transcript

w3c/did-resolution#66

Wip: this is related to parameters as well
… things like version and time
… we might add this to extensions
… but there are questions about option use across all methods

markus_sabadello: I don't think this should be an extension
… this is already in use by a number of did methods
… there are use cases where you have `?version_id=` already
… there is already some text around version parameters and examples in the dereferencing algorithm section
… we just need to add a few things about what a dereferencer is supposed to do

Wip: I agree, but we don't list these properties in the did metadata section
… because they're listed in a different section

<Wip> https://w3c.github.io/did-extensions/resolution/#parameters

Wip: maybe I misread this
… some of those parameters are in the core spec, but we also list them in the extensions
… but in did resolution we list some, which are not in the extensions list

<Wip> https://w3c.github.io/did-extensions/resolution/#did-resolution-metadata

markus_sabadello: yeah, I think you're right
… we have some for URLs, but not for resolution

Wip: what I proposed was maybe not quite right
… I was proposing that they be equivalent spaces
… but some of these are only applicable for dereferencing

markus_sabadello: and the spec already says that
… but you could also just resolve the DID and pass the resolution options then

Wip: maybe that's the change?
… copying the version parameters across
… I'm happy to take on that change to DID extensions
… but markus_sabadello it seemed like there was more to explore here? and maybe we need other issues?

markus_sabadello: yes

Wip: I'll take the DID extensions bit on, but then we should come back to the TODOs in the specification


@peacekeeper
Copy link
Collaborator

I think a current summary of this issue is:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants