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

Add an issuerId object to all anoncreds registry objects #116

Closed
TimoGlastra opened this issue Dec 16, 2022 · 5 comments · Fixed by #126
Closed

Add an issuerId object to all anoncreds registry objects #116

TimoGlastra opened this issue Dec 16, 2022 · 5 comments · Fixed by #126
Assignees

Comments

@TimoGlastra
Copy link
Member

TimoGlastra commented Dec 16, 2022

Create PR for AnonCreds specification that adds the issuerId property to all AnonCreds registry objects and links back to the creator of the anoncreds object. AnonCreds methods must specify how to validate the issuer.

For e.g. indy the issuerId will always be the indy did

Figure out:

  • Do we want to include the issuerId in the identifier of the objects?

Related issue in AnonCreds RS: hyperledger/anoncreds-rs#34
Related issue in AnonCreds specification: #102

@TimoGlastra TimoGlastra self-assigned this Dec 16, 2022
@swcurran
Copy link
Member

Suggest that it be schemaIssuerId for the Schema object.

My leaning is that including the issuerId in the object identifiers should not be required. It often will be, by the nature of DIDs, but it should not be a requirement. As long as the issuerId can be determined from the VC and VP, we shouldn't require it in the other objects.

AnonCreds Methods must be able to populate the issuerId however it is defined in the published artifact. For legacy Indy, the published artifact does not have an explicit issuerId, but it can be derived from the objectId. Future AnonCreds methods could have the issuerId in the objects themselves.

@TimoGlastra
Copy link
Member Author

Just so I fully understand, your suggestion is to add the field, but make it optional? A method can then define whether the field is required, and how you can populate it?

AnonCreds Methods must be able to populate the issuerId however it is defined in the published artifact. For legacy Indy, the published artifact does not have an explicit issuerId, but it can be derived from the objectId. Future AnonCreds methods could have the issuerId in the objects themselves.

I'm not suggesting that we should store the issuerId property on the registry. As you say, it can most often be derived from something else (for e.g. did:cheqd, did:indy and legacy indy methods), but I do see the value in making it a required property.

If the property is optional, and for e.g. the https method we end up not using it, would you then say that the credential definition has no issuer? And you wouldn't be able to send a proof request query based on the credential definition issuer?

@TimoGlastra
Copy link
Member Author

@ankurdotb @Tweeddalex this is the issue I talked about during our meeting. Interested to hear your opinion

@swcurran
Copy link
Member

No -- I think it should be required. I was just saying that the DID will usually be part of the AnonCreds object identifiers, but we can't count on that, and it should not be for AnonCreds to extract the DID/Identifier out and populate the issuerId. So it should be required, and up to the AnonCreds method to populate.

@swcurran
Copy link
Member

swcurran commented Jan 9, 2023

Addressed by #126

@swcurran swcurran closed this as completed Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants