nuts-foundation / nuts-node

The reference implementation of the Nuts specification. A decentralized identity network based on the w3c ssi concepts with practical functionality for the healthcare domain.
https://nuts-foundation.gitbook.io
GNU General Public License v3.0
23 stars 15 forks source link

Clearly define VC format types when issuing #2853

Open woutslakhorst opened 5 months ago

woutslakhorst commented 5 months ago

With all the work that is being done for ARFv1.2, VC data model 2.0 and data integrity, there'll be a multitude of VC formats that need to be supported. For our APIs we need a clear set of format and media types, etc.

woutslakhorst commented 5 months ago

From VC data model v1.1

From SD-JWT (https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-07.html#name-media-type-registration):

From VC data model v2.0

Nothing from data integrity model or specific proof formats.

From https://www.w3.org/TR/vc-jose-cose (omitted cose):

refs:

Given all of the above:

Support now:

Support next (order of importance):

reinkrul commented 5 months ago

Change current format enum values to json-ld+jwt and json-ld+ld-proofs

woutslakhorst commented 5 months ago

Change current format enum values to json-ld+jwt and json-ld+ld-proofs

don't do this for any PEX related things. Only for the issuance API

reinkrul commented 4 months ago

go-did's VerifiableCredential.Format() should also return these values (instead of jwt_vc), right @woutslakhorst ?

woutslakhorst commented 4 months ago

go-did's VerifiableCredential.Format() should also return these values (instead of jwt_vc), right @woutslakhorst ?

Yes, which probably means you have to map the formats to PEX formats somehow....

reinkrul commented 4 months ago

From VC data model v1.1 JSON‑LD+JWT: The current JWT type credential. (for newer stuff, revocation and discovery) JSON‑LD+LD‑Proofs: The default VC type on the network

Where did you read this? I think the type/format designators are in flux currently. Can't we keep it as it currently is for the v6 release, and just add the new formats (e.g. SD), and maybe an alias for the JWT/JSON-LD VCs (and deprecate the current ones)?

woutslakhorst commented 4 months ago

for v1.1 they aren't defined. Also PEX formats/types are different from W3C.

gerardsn commented 4 months ago

Considering that each spec (group) currently seems to use its own convention it probably comes down to whom we want to be compatible with? I think most parties that implement the openid4vc specs use the PEX formats (and possibly the weird *_json types).

What is the argument to change this now? I agree that it would be nice to have one fixed convention for this, but I don't think there is any consensus on this yet?

woutslakhorst commented 4 months ago

maybe the now is: "in a few weeks/months"...

woutslakhorst commented 3 months ago

The "official" registry seems to be dead....

Propose to wait for v6.x to do this.