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

Extendable Issuer Property for VC issuance [OpenBadges 3.0] #1244

Open
bsandmann opened this issue Jul 2, 2024 · 0 comments
Open

Extendable Issuer Property for VC issuance [OpenBadges 3.0] #1244

bsandmann opened this issue Jul 2, 2024 · 0 comments

Comments

@bsandmann
Copy link

bsandmann commented Jul 2, 2024

Summary

This feature request is to modify the Hyperledger Identus agent to allow for a flexible issuer property in Verifiable Credentials (VCs). This change is necessary to achieve full compatibility with OpenBadges 3.0 and to provide more versatility in describing the issuer of a credential.
For further discussion on what OpenBadges 3.0 is and why to achieve compatibility with it, please refer to the Achieve compatibility with OpenBadges 3.0 [Summary].

Current Situation

Currently, the Identus agent uses a string value for the issuer property when creating a VC:

"issuer": "did:prism:123..."

Proposed Changes

To align with the OpenBadges 3.0 specification, which allows for a more detailed issuer description, and to enhance the versatility of Identus-issued credentials, I propose to make the issuer property optionally accept an object within the current API to replace the issuer-string.
The structure of that optional property might look like this in the existing endpoint for offering credentials: /issue-credentials/credentials-offers:

"issuer": {
"name": "Example University",
"type": ["Profile"],
"image": "https://example.edu/logo.png"
}
  • The provided json is not allowed to contain the id field, which should be set by the Identus agent based on the DID of the issuer.
  • If the issuer property is not set the current behavior should be maintained (ie. "issuer":"did:prism:123").

This change also requires changes in the SDKs to handle the issuer object correctly, since they are currently expecting a string with the DID.

Additional resources:

Issuer explanation from the VC 2.0 spec
Example of Issuer object from the OB 3.0 spec

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

No branches or pull requests

1 participant