Skip to content

add clarification to RFC 0510 on how to use with JWT VPs #807

Description

@TimoGlastra

When using JWTs as the VP format, how should it be added to the attachment?

Maybe we can make a clarification that the json field is also allowed to be a string value if you want to submit a JWT-VP, and in that case the JWT is encoded and the presentation_submission is encoded within the presenation.

Then for a V2 of the attachment format I'd like to propose the following changes:

In the case of multiple VPs the presentation submission should also be extracted as there will be one presentation submission with multiple VPs. In that case it mights make sense to make the presentation message always an object with the following structure:

{
  // could optionally be a string/object in case of one VP, but I think always making it an array makes implementations simpler
  "vps": [],
  "presentation_submission": {
    "id": "a30e3b91-fb77-4d22-95fa-871689c322e2",
    "definition_id": "32f54163-7166-48f1-93d8-ff217bdb0653",
    "descriptor_map": [
      {
        "id": "banking_input",
        "format": "jwt_vp",
        // references first VP in vps array
        "path": "$.vps[0]",
        "path_nested": {
          "id": "banking_input",
          "format": "jwt_vc",
          "path": "$.vc"
        }
      },
      {
        "id": "citizenship_input",
        "format": "jwt_vp",
        // references second VP in vps array
        "path": "$.vps[1]",
        "path_nested": {
          "id": "citizenship_input",
          "format": "jwt_vc",
          "path": "$.vc"
        }
      }
    ]
  }
}

This way it will work with multiple formats (JSON-LD, JWT, SD-JWT) and also allow multiple VPs to be submitted for a single presentation definition, and make it leverage all features of PEx.

One thing that OID4VP supports is including multiple presentation definitions in the request. I thin that could be solved by adding multiple of the request attachment for PEX as the presentations will be separate from each other.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions