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

Remove "unauthorized" and add "deactivated" error code. #440

Merged
merged 1 commit into from
Nov 1, 2020

Conversation

peacekeeper
Copy link
Contributor

@peacekeeper peacekeeper commented Oct 19, 2020

Addresses #402.


Preview | Diff

@peacekeeper
Copy link
Contributor Author

The question of resolution/dereferencing error codes started earlier this year when we added the DID Resolution section. Based on the discussions back then, and the comments in issue #402, the idea is that we include a minimal set of error codes in DID Core, and allow additional codes to be assigned via the DID Spec Registries in the future.

With this PR, we would have:

  • For DID resolution: invalid-did, not-found, deactivated
  • For DID URL dereferencing: invalid-did-url, not-found, deactivated

Copy link
Member

@kdenhartog kdenhartog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like adding the deactivated error, and I think it would remain beneficial to keep unauthorized as well. In the case of resolving dids from a public resolver connected to a private VDR (such as an intranet web server with did:web or a private hyperledger fabric network) I think it's beneficial to indicate the DID exists, but the resolver cannot return the DID Document without some form of authorization provided in the request. This bodes well for a zero trust architecture where the resolver service is acting as an authorization point for a resource (the DID Document).

With that in mind, this does open the question do we need to be able to provide authorization proof in the resolution options parameter?

@peacekeeper
Copy link
Contributor Author

I feel pretty strongly that in the DID Core spec we should not talk about authorization of DID resolution and therefore remove the error code. This doesn't mean that such an error code and also some kind of authorization input metadata is not possible or not allowed, those things can be done and even added later to the DID Spec Registries. But if we want to address this now in DID Core, it would be a major new feature that we don't have time to discuss. As far as I remember, by default, we have always considered DID resolution to not require authorization.

If we want to specify this at some point, we could define the required metadata and error codes elsewhere, e.g. in DID Resolution, and then register those extensions in the DID Spec Registries.

@agropper
Copy link
Contributor

agropper commented Oct 20, 2020 via email

@peacekeeper peacekeeper force-pushed the peacekeeper-resolve-error-codes branch from 4041eb1 to ddd8bb5 Compare October 29, 2020 22:01
@peacekeeper
Copy link
Contributor Author

Merge conflicts should be resolved now.

@msporny msporny merged commit 87ababf into master Nov 1, 2020
@msporny
Copy link
Member

msporny commented Nov 1, 2020

Normative, multiple positive reviews, no objections, merging.

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

Successfully merging this pull request may close these issues.

6 participants