w3c-ccg / vp-request-spec

Specification for a query language to request Verifiable Presentations from wallets etc.

Home Page:https://w3c-ccg.github.io/vp-request-spec/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mediated Presentation clarification

jrhender opened this issue · comments

Would it be possible to clarify the meaning of the Mediated Presentation interaction type and how a holder should react to this interaction type?

My understanding is that this interaction type is intended to signal that review of the submitted VP will require mediation, which means that the result of the processing of the submitted VP will may not be available for the HTTP response to the client. My assumption that use of this interaction type could result in a flow like this one:

sequenceDiagram

participant H1 as Holder-1 Client
participant H2 as Holder-2 Service

H1->>H2: submit presentation 
activate H2
  H2-->>H1: reply with "mediation in progress" VP Request
deactivate H2

par review presentation
  H2->>H2: process presentation and store result
and query presentation status
  loop At some polling interval...
    H1->>H2: query presentation review status
    activate H2
    alt presentation is processed
      H2-->>H1: return review result (possibly including VP with VCs)
    else presentation not yet processed
      H2-->>H1: return "mediation in progress" VP Request
    end
    deactivate H2
  end
end

Is this how others see "Mediated Presentation" as well? If not, is it envisioned that VP Request (and VC API) would support asynchronous presentation review flows (via duplex client-server HTTP) through some other means?

Regarding the flow above,

  • What could a "Mediation in progress" VP Request look like? My idea is that it could be a VP Request with an empty credential query and an interact service where the client can query the status of the presentation review
  • Could there be some way of signalling to the client what an appropriate polling interval could be?

If I've misunderstood Mediated Presentation, my apologies!