Skip to content

Add guidance on how to handle multiple presentation request entries#249

Closed
MasterKale wants to merge 14 commits into
mainfrom
mm/220-handle-multiple-presentation-requests
Closed

Add guidance on how to handle multiple presentation request entries#249
MasterKale wants to merge 14 commits into
mainfrom
mm/220-handle-multiple-presentation-requests

Conversation

@MasterKale

@MasterKale MasterKale commented May 28, 2025

Copy link
Copy Markdown
Contributor

This PR adds initial text on A) how user agents MUST handle the presence of multiple presentation requests in options.digital.requests, and B) how verifiers SHOULD populate options.digital.requests to handle getting back a corresponding presentation response.

Closes #220.

The following tasks have been completed:

  • Modified Web platform tests (link)

Implementation commitment:

  • WebKit (link to issue)
  • Chromium (link to issue)
  • Gecko (link to issue)

Documentation and checks

  • Affects privacy
  • Affects security
  • Pinged MDN
  • Updated Explainer
  • Updated digitalcredentials.dev

Preview | Diff

@MasterKale MasterKale requested a review from a team as a code owner May 28, 2025 21:48
@MasterKale MasterKale added the agenda+ Add to the weekly agenda label May 29, 2025
Comment thread index.html Outdated
Comment thread index.html Outdated
@wseltzer

Copy link
Copy Markdown
Contributor

Discussed 11 June minutes

@wseltzer wseltzer removed the agenda+ Add to the weekly agenda label Jun 12, 2025
Comment thread index.html Outdated
@MasterKale MasterKale self-assigned this Jun 23, 2025
@MasterKale MasterKale added the agenda+ Add to the weekly agenda label Jul 2, 2025
@npdoty

npdoty commented Jul 9, 2025

Copy link
Copy Markdown

I think we should indicate to the verifier that the multiple requests (and similarly for the request language) should be semantically compatible/equivalent, or the user/user agent/wallet are easily going to be confused, or might be seen as abuse. Browsers can try to catch really extreme cases that violate that, but it probably wouldn't be easy to test.

@MasterKale

MasterKale commented Jul 9, 2025

Copy link
Copy Markdown
Contributor Author

From WG meeting:

  • Add a note to Verifiers that request options within requests should be semantically similar
  • Review text to see how it might clarify that we're talking about multiple requests within a single invocation of DC API

@wseltzer

Copy link
Copy Markdown
Contributor

Discussed 9 July.

@wseltzer wseltzer removed the agenda+ Add to the weekly agenda label Jul 10, 2025
@TallTed

TallTed commented Jul 10, 2025

Copy link
Copy Markdown
Contributor

Might I suggest that this be reworked/rewritten a bit, to more closely mimic the HTTP content negotiation accept: header, such that each entry pairs a protocol (with associated priority) with one or more credentials (each with their own associated priority)?

A single artificially complicated request (with syntactically invisible line break, here just to make comprehension easier) might then look something like —
foo-proto-v1(ex-cred-1;cp=1.0, ex-cred-2;cp=0.5);pp=1.0, foo-proto-v2(ex-cred-1;cp=0.7, ex-cred-2;cp=0.3);pp=0.5

I would multiply the internal credential priority, cp, values by the wrapping protocol priority, pp, to make a net priority, p.

This could be made less visibly complicated by having two multi-valued parameters instead of one, such that the protocol priorities are in one parameter and the credential priorities are in another, or by having one slightly-more complex multi-valued parameter for which each value includes both protocol and credential (basically containing the permutations of the above), maybe something like —
(foo-proto-v1;ex-cred-1;p=1.0), (foo-proto-v2;ex-cred-1;p=0.35), (foo-proto-v1;ex-cred-2;p=0.5), (foo-proto-v2;ex-cred-2;p=0.15)

Note that the ordering of these is not important. It's the p value that dictates preference/priority of receiving that combination.

Comment thread index.html
@MasterKale MasterKale added the agenda+ Add to the weekly agenda label Aug 27, 2025
Comment thread index.html Outdated
Comment thread index.html Outdated
Comment thread index.html Outdated
Comment thread index.html Outdated
@wseltzer

wseltzer commented Sep 3, 2025

Copy link
Copy Markdown
Contributor

Discussed 3 September minutes.

@wseltzer wseltzer removed the agenda+ Add to the weekly agenda label Sep 3, 2025
Comment thread index.html Outdated
Comment thread index.html Outdated
Comment thread index.html Outdated
Comment thread index.html Outdated
@MasterKale

MasterKale commented Dec 1, 2025

Copy link
Copy Markdown
Contributor Author

Just an update, this PR is effectively blocked by #372 which defines the presentation algorithm for the user agent. Once that lands I can then update this PR to slot in this PR's guidance to wherever is appropriate.

@hlflanagan

Copy link
Copy Markdown

@MasterKale

Copy link
Copy Markdown
Contributor Author

Abandoning this because I just found out @marcoscaceres decided instead to do this in #420.

@MasterKale MasterKale closed this Jan 9, 2026
@MasterKale MasterKale deleted the mm/220-handle-multiple-presentation-requests branch January 9, 2026 04:25
@marcoscaceres

Copy link
Copy Markdown
Collaborator

There might be some text we can bring over from here to #420. There’s still something to be said, even if non-normatively, about not expecting multiple credentials (unless the format allows for it).

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for multiple requests in a get call

6 participants