-
Notifications
You must be signed in to change notification settings - Fork 95
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
DID URL dereferencing and its relationship to different encodings/representations #200
Comments
CC @dmitrizagidulin @peacekeeper @jonnycrunch @jricher who had opinions about this matter on the call |
I'd say "not at all, that has to do with DID Resolution and dereferencing". The data model provides a mechanism to identify components in a DID Document... it's some other specs job (DID Resolution) to pull each component out in a way that makes sense. I also find it strange that DID Resolution would have a feature that picks out specific parts of a document... it's usually the application layer that does that (like how browsers treat fragment IDs). It can be argued both ways, so I don't have a strong opinion... other than, this sort of thing should go in a different spec than DID Core. |
Thanks @tplooker for raising this.. For reference, here are the DID Resolution meeting recordings and logs where this was discussed: https://github.com/w3c-ccg/meetings/tree/gh-pages/2020-02-20-did-resolution |
I agree, but I think @tplooker 's point is: What will the data model say about identifying components in a DID document, and what will be the requirements for representations of that data model (and their MIME types, which define the behavior of a fragment in a URL). So in his example if you have the DID URL This is not just a question of DID Resolution, but also DID Core.
Yes, to be precise "picking out specific parts of a document" is part of dereferencing, not DID Resolution. But how that dereferencing works is dependent on the MIME type of the representation (see above). |
@msporny, yes @peacekeeper is quite right, prior to #225 being merged without requiring public keys to have an id then syntax like My feeling after taking time to review this issue a little further is that provided did-core sticks to the commitment to loss less conversion between encoding schemes and the core data model supports consistent ways in which to achieve actions like dereferencing via an element referenced by an id statement in a did document (regardless of encoding mechanism), then I'm comfortable that the outstanding questions are for did resolution to solve. With that said, I believe the statement about JSON pointer should be removed from did core because I dont think it is a data model concern at heart and unless it can be shown to work in a loss less manner (ie interoperable with a CBOR representation) then it should not feature in did-resolution either. |
@tplooker is anything else needed before we can close this issue? |
I'd think this would be covered by #257 in combination with the PRs in flight about resolution/de-referencing. I'll let him know to comment on this issue. |
@burnburn no I believe the concerns have been addressed |
On the did resolution call today, the topic was raised around did-url syntax and how
something like a dereferencing operation with a did-url on a did document will occur across different encodings of the did document.
Currently the core data model of the did document expresses a did document as a graph where every node in the graph can have its own identifier. These identifiers are then used by resolvers in conjunction with the did url syntax to enable dereferencing.
For example a did document expressed in JSON-LD
Dereferencing did:example:123456789abcdefghi#keys-1 yields
However in the specification at the moment in the fragment section. A statement about not excluding the usage of JSON pointers is made.
A JSON pointer solution to the JSON encoding of a did document could look quite different, for example.
Whereby dereferencing did:example:123456789abcdefghi#/authentication/0 would yield
To me this raises a discussion about to what degree the did core specifications data model and identifier syntax will describe how operations like dereferencing occurs. IMO if we have a per-encoding approach to dereferencing and or identifying elements of a did document, this could be problematic for interoperability.
In essence the question I am asking with this issue, is will the did core specification define a standardised (but perhaps not the only) way of identifying and dereferencing content in a did document irrespective of encoding?
The text was updated successfully, but these errors were encountered: