decentralized-identity / universal-resolver

Universal Resolver implementation and drivers.
https://uniresolver.io/
Apache License 2.0
529 stars 233 forks source link

feat: update did-algo driver #424

Closed joe-p closed 1 month ago

joe-p commented 1 month ago

Updates the did:algo driver to the latest version and updates links accordingly in the README

BernhardFuchs commented 1 month ago

We did a test deployment to https://dev.uniresolver.io but the resolver returns following error:

2024-05-16T08:53:55,299 DEBUG [qtp2951941-19] u.u.HttpBindingClientUtil: Deserializing resolve representation result from HTTP body.
2024-05-16T08:53:55,299 WARN  [qtp2951941-19] u.d.h.HttpDriver: notFound -> null
2024-05-16T08:53:55,299 WARN  [qtp2951941-19] u.w.s.ResolveServlet: Resolve problem for did:algo:426165491c77a6c95eeed8d0420b38b0afbe9057c4f33147eb90fafd32aaad22-591154170: null
uniresolver.ResolutionException
    at uniresolver.driver.http.HttpDriver.resolveRepresentation(HttpDriver.java:152)
    at uniresolver.local.LocalUniResolver.resolveOrResolveRepresentationWithDrivers(LocalUniResolver.java:167)
    at uniresolver.local.LocalUniResolver.resolveOrResolveRepresentation(LocalUniResolver.java:123)
    at uniresolver.local.LocalUniResolver.resolveRepresentation(LocalUniResolver.java:73)
    at uniresolver.local.LocalUniResolver.resolveRepresentation(LocalUniResolver.java:68)
    at uniresolver.web.WebUniResolver.resolveRepresentation(WebUniResolver.java:56)
    at uniresolver.web.servlet.ResolveServlet.doGet(ResolveServlet.java:92)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
ehanoc commented 1 month ago

We did a test deployment to https://dev.uniresolver.io but the resolver returns following error:

2024-05-16T08:53:55,299 DEBUG [qtp2951941-19] u.u.HttpBindingClientUtil: Deserializing resolve representation result from HTTP body.
2024-05-16T08:53:55,299 WARN  [qtp2951941-19] u.d.h.HttpDriver: notFound -> null
2024-05-16T08:53:55,299 WARN  [qtp2951941-19] u.w.s.ResolveServlet: Resolve problem for did:algo:426165491c77a6c95eeed8d0420b38b0afbe9057c4f33147eb90fafd32aaad22-591154170: null
uniresolver.ResolutionException
  at uniresolver.driver.http.HttpDriver.resolveRepresentation(HttpDriver.java:152)
  at uniresolver.local.LocalUniResolver.resolveOrResolveRepresentationWithDrivers(LocalUniResolver.java:167)
  at uniresolver.local.LocalUniResolver.resolveOrResolveRepresentation(LocalUniResolver.java:123)
  at uniresolver.local.LocalUniResolver.resolveRepresentation(LocalUniResolver.java:73)
  at uniresolver.local.LocalUniResolver.resolveRepresentation(LocalUniResolver.java:68)
  at uniresolver.web.WebUniResolver.resolveRepresentation(WebUniResolver.java:56)
  at uniresolver.web.servlet.ResolveServlet.doGet(ResolveServlet.java:92)
  at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)
  at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)

Hey @BernhardFuchs, Thanks for checking! The test there seems to resolve against the old identifier spec did:algo:<publicKey>-appId .

We are updating it to did:algo:<network>:appId:<appId>:<publicKey>. There's no use at the moment until we finalize these latest changes (And this should be it).

There should be a new image (from our registry now) with the updated spec.

CC: @joe-p can you confirm?

joe-p commented 1 month ago

Yes @ehanoc that is correct. The new driver resolves DIDs that follow the new spec.

An query of a DID that resolves to a DIDDocument (tested locally with this branch):

curl -X GET http://localhost:8080/1.0/identifiers/did:algo:mainnet:app:1845671812:da490f2d15a625459bf970a3d55e1a646dfd3a956d011546e953e945d39fdada
BernhardFuchs commented 1 month ago

I can confirm that the DID from the curl command works.
Can you pls add it to the application.yml file too. Then it will show up in the frontend.

joe-p commented 1 month ago

Can you pls add it to the application.yml file too. Then it will show up in the frontend.

Ah missed that. Just updated in 470f9e7

ehanoc commented 1 month ago

I can confirm that the DID from the curl command works. Can you pls add it to the application.yml file too. Then it will show up in the frontend.

Thanks @BernhardFuchs