Clarify what successfully processing a response means (direct_post)
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 112
- Forks
- 38
- Avg merge
- 12d 19h
- Merged PRs (30d)
- 4
Description
This assumes response mode direct_post and the following clause in the OpenID 4 VP spec (Section 6.2)
If the Response Endpoint has successfully processed the request, it MUST respond with HTTPS status code 200.
The word successfully does a lot of the heavy lifting and is open for interpretation
Imagine the following: A wallet posts a response, the response is structurally correct and the submission requirements meet the definition. But, the verifier notices that the credential is expired, or claim values do not match the functional needs, etc, and for this (imaginary) case this is not acceptable.
I believe that there are two options here
- Return 200 (w. redirect_uri)
- Return 400 (w. an error response and redirect_uri (and potentially other attr to allow resubmit))
I believe it is reasonable to assume that the Wallet receives 400 from the Response Endpoint, allowing for the possibility to correct and re-submit with different credentials (or whatever the case may be). If 200 is always returned, it is more difficult to make the distinction between a success state and one that is not from the perspective of the Wallet. At least, this is what we have experienced during our implementation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review OpenID 4 VP Section 6.2 and the direct_post response behavior described in the issue. Clarify what “successfully processed” means when submissions are structurally valid but unacceptable to the verifier, and define when the Response Endpoint returns 200 or 400. Done means the specification provides unambiguous wallet-visible outcome semantics.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100