Differences between spec and examples in OIDVCI

Issue #1875 resolved
Sadjad Khoshkhou created an issue

There are a couple of differences between the spec and the examples provided by the spec. it’s good if you can clarify these properties. here are some examples of such inconsistencies:

  1. In https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0-11.html#section-10.2.3.1, in the properties list there’s no mention of types but in the example types is present. this is particularly important because in the deeplink we see the types value:

    openid-credential-offer://credential_offer=%7B%22credential_issuer%22:%22https://credential-issuer.example.com %22,%22credentials%22:%5B%7B%22format%22:%22jwt_vc_json%22,%22types%22:%5B%22VerifiableCr edential%22,%22UniversityDegreeCredential%22%5D%7D%5D,%22issuer_state%22:%22eyJhbGciOiJSU0Et... FYUaBy%22%7D

2. In https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0-11.html#section-10.2.3.1, we don’t see credentialSubject key, but in the provided example there is one present.

3. In https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0-11.html#name-credential-offer-parameters credential offer has this property chain (leading to issuer_state): $.grants.authorization_code.issuer_state but in the deeplink we see the following object:

{"credential_issuer":"https://credential-issuer.example.com","credentials":[{"format":"jwt_vc_json","types":["VerifiableCredential","UniversityDegreeCredential"]}],"issuer_state":"eyJhbGciOiJSU0Et...FYUaBy"}

which has the following property chain: $.issuer_state

Thanks in advance for your help!

Comments (8)

  1. Michael Jones

    Apparently there's confusion between general parameters and parameters specific to particular credential formats. We can try to clarify this.

  2. Kristina Yasuda

    the spec is written as such that the main spec text defines parameters that are to be used regardless of the credential format used. the Annex E defines parameters that are to be used depending on which credential format is used.

    because the examples in the main text are examples of a specific credential format, they already use parameters that are defined later in Annex E.

    We’ve previously tried clarify this, but if it is still not clear, happy to give it another try and do a PR to make this more explicit :)

  3. Sadjad Khoshkhou reporter

    That’s great. I do have several other questions though:

    In https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0-11.html#name-credential-offer-5 we have this sentence:

    The following additional claims are defined for this Credential format.

    But in the example we don’t have the required parameters defined in section https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0-11.html#name-credential-offer-parameters (credentials property which should have a format property). and instead we have credential_definition . what is the relation between CredentialOffer in the main text, and the same object in Annex E?

    And one more question about credential_definition object. in the E.1.3.4 for the type it’s referencing E.1.3.3 for the actual definition of the type. but in the example of E.1.3.4, I see CredentialSubject property which is not mentioned in the E.1.3.3. should we consider it for the previous section as well?

    Thanks in advance

  4. Log in to comment