w3c-ccg / did-method-web

DRAFT: did:web Decentralized Identifier Method Specification
https://w3c-ccg.github.io/did-method-web/
Other
32 stars 17 forks source link

Fix uni resolver #24

Open OR13 opened 3 years ago

OR13 commented 3 years ago

We need to update the universal resolver driver support did web with path based routes, for example:

https://did-web.web.app/api/v1/identifiers/did:web:did.actor:supply-chain:manufacturer:stacy

ping @awoie @dmitrizagidulin

mirceanis commented 3 years ago

It already supports path based routes, except that the base resolver is not up to spec with verificationMethod. It still expects a publicKey array, and throws an error if it doesn't see one.

For example, this did:web with paths works, since it's still using publicKey: did:web:did.actor:alice

OR13 commented 3 years ago

@mirceanis https://github.com/w3c/did-spec-registries/blob/master/vocabs/v1/context.jsonld#L85

The did core spec does not even list publicKey any more, see: https://w3c.github.io/did-core/#did-document-properties

however it is still present in the context:

https://github.com/w3c/did-spec-registries/blob/master/vocabs/v1/context.jsonld#L62

peacekeeper commented 3 years ago

Universal Resolver uses this driver for did:web:

https://hub.docker.com/r/uport/uni-resolver-driver-did-uport/ (it says last updated 6 months ago).

Maybe the underlying code has already been updated, and only the Docker image needs to be rebuilt and pushed?

peacekeeper commented 3 years ago

Or is there another implementation of did:web than https://github.com/uport-project/uport-did-driver that the Universal Resolver should be using instead?

mirceanis commented 3 years ago

the uport driver uses the implementation from web-did-resolver

the web-did-resolver was not yet adapted to the latest did-core spec. I'm not aware of other implementations, but I guess it could be replaced if there is another that is more up-to-date.