[Openid-specs-ab] Issue #1329: Attempt to converge format/selection in verifiable_presentations with presentation_submission (openid/connect)

Daniel Buchner issues-reply at bitbucket.org
Wed Sep 1 21:30:05 UTC 2021


New issue 1329: Attempt to converge format/selection in verifiable_presentations with presentation_submission
https://bitbucket.org/openid/connect/issues/1329/attempt-to-converge-format-selection-in

Daniel Buchner:

David Waite noticed something that could really help convergence of the specs and simplify the interplay between PE Submission objects and the verifiable\_presentations in the OIDC spec. I have added examples of the present vs proposed below, but the key difference is we would no longer need to separate conventions for format expression of the various layers, and can reuse the exact same logic that doesn’t assume any particular layer depth. Let me know what you think.  
  
Current OIDC PR example:  

```json
{
  "iss": "https://self-issued.me/v2",
  "aud": "https://book.itsourweb.org:3000/client_api/authresp/uhn",
  "iat": 1615910538,
  "exp": 1615911138,
  "sub": "NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs",
  "sub_jwk": {
    "kty": "RSA",
    "n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx...DKgw",
    "e": "AQAB"
  },
  "auth_time": 1615910535,
  "nonce": "960848874",
  "verifiable_presentations": [
    {
      "format": "ldp_vp",
      "presentation": {
        "@context": [
          "https://www.w3.org/2018/credentials/v1"
        ],
        "type": [
          "VerifiablePresentation"
        ],
        "verifiableCredential": [
          {
            "@context": [
                "https://www.w3.org/2018/credentials/v1",
                "https://www.w3.org/2018/credentials/examples/v1"
            ],
            "id": "https://example.com/credentials/1872",
            "type": [
                "VerifiableCredential",
                "IDCardCredential"
            ],
            "issuer": {
                "id": "did:example:issuer"
            },
            "issuanceDate": "2010-01-01T19:23:24Z",
            "credentialSubject": {
                "given_name": "Fredrik",
                "family_name": "Strömberg",
                "birthdate": "1949-01-22"
            },
            "proof": {...}
          }
        ],
        "id": "ebc6f1c2",
        "holder": "did:example:holder",
        "presentation_submission": {
          "id": "Selective disclosure example presentation",
          "definition_id": "Selective disclosure example",
          "descriptor_map": [
            {
              "id": "ID Card with constraints",
              "format": "ldp_vc",
              "path": "$.verifiableCredential[0]"
            }
          ]
        },
        "proof": {...}
      }
    }
  ]
}
```

  
Proposed convergence that allows us to use the same existing mechanism for both format expression and cred selection:  

```json
{
  "iss": "https://self-issued.me/v2",
  ...
  "verifiable_presentations": [
    {
      "presentation_submission": {
        "id": "Selective disclosure example presentation",
        "definition_id": "Selective disclosure example",
        "descriptor_map": [
          {
            "id": "ID Card with constraints",
            "format": "ldp_vp",
            "path": "$.presentation",
            "path_nested": {
              "format": "ldp_vc",
              "path": "$.verifiableCredential[0]"
            }
          }
        ]
      },
      "presentation": {
        "@context": [
          "https://www.w3.org/2018/credentials/v1"
        ],
        "type": [
          "VerifiablePresentation"
        ],
        "verifiableCredential": [
          {
            "@context": [
                "https://www.w3.org/2018/credentials/v1",
                "https://www.w3.org/2018/credentials/examples/v1"
            ],
            "id": "https://example.com/credentials/1872",
            "type": [
                "VerifiableCredential",
                "IDCardCredential"
            ],
            "issuer": {
                "id": "did:example:issuer"
            },
            "issuanceDate": "2010-01-01T19:23:24Z",
            "credentialSubject": {...},
            "proof": {...}
          }
        ],
        "id": "ebc6f1c2",
        "holder": "did:example:holder",
        "proof": {...}
      }
    }
  ]
}
```

‌



More information about the Openid-specs-ab mailing list