Skip to content

Clarify mismatch between dcql_query.credentials[*].format and vp_formats_supported verifier metadata #797

Closed

Description

@awoie

There may be edge cases cases where the verifier sends a redirect-based OID4VP request to the wallet that requires vp_formats_supported with a list of VP formats that don't include any or all of the dcql_query.credentials[*].format attributes. It is undefined what the wallet should do in this case.

Should we assume the wallet returns an vp_formats_not_supported error or not return anything (which is always possible)? We could include this error condition as an additional item in the list of failure cases for vp_formats_not_supported error.

Any thoughts @c2bo @jogu @GarethCOliver @TimoGlastra ?

Activity

  1. added this to the Final 1.1 milestone on Sep 10, 2026
  2. charsleysa commented on Sep 10, 2026

    @charsleysa
    Contributor

    I would say the vp_formats_not_supported error is not quite correct and instead the wallet should treat it the same as no matching credentials found.

  3. awoie commented on Sep 17, 2026

    @awoie
    ContributorAuthor

    I would say the vp_formats_not_supported error is not quite correct and instead the wallet should treat it the same as no matching credentials found.

    Then we should say something in access_denied about this. vp_formats_supported is not part of the dcql query.

  4. dpostnikov commented on Sep 18, 2026

    @dpostnikov
    Collaborator

    @awoie - existing text wouldn't work? The Wallet did not have the requested Credentials to satisfy the Authorization Request.

    How would you suggest to enhance it?

  5. brentzundel commented on Sep 18, 2026

    @brentzundel
    Collaborator

    I am not at all understanding the edge case. It seems like if the wallet doesn't have credentials with any or all of the dcql_query.credentials[*].format attributes, that behavior is defined.
    What am I not understanding?

  6. c2bo commented on Sep 23, 2026

    @c2bo
    Member

    I think I agree with @brentzundel here

  7. awoie commented on Sep 24, 2026

    @awoie
    ContributorAuthor

    I think I agree with @brentzundel here

    Ok, I think the interpretation works but it is not quite obvious because in this specific case, the authz request could be not consistent with the DCQL query. Can we perhaps say at least something in the access_denied section to include this case? Otherwise, to me it is not clear whether access_denied or invalid_request is more appropriate.

  8. brentzundel commented on Sep 24, 2026

    @brentzundel
    Collaborator

    Discussed today. @awoie will raise a PR that clarifies that access denied errors apply to this situation as well.

  9. brentzundel commented on Sep 24, 2026

    @brentzundel
    Collaborator

    @bc-pi recommends using invalid request as the error returned

  10. GarethCOliver commented on Sep 24, 2026

    @GarethCOliver
    Contributor

    The reason for it being invalid request is that omitting the entry from the vp_formats_supported for a particular credential type violates a MUST condition for constructing the request:

    e.g. for IETF SD-JWTs section B.3.4 says 'The vp_formats_supported parameter of the Verifier metadata or Wallet metadata MUST have the Credential Format Identifier as a key...'

    So a request that contains dc+sd-jwt but does not have dc+sd-jwt as a key is an invalid request, and rejecting it as such (independent of whether or not the Wallet has an SD-JWT) would be valid behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions