{"id":"56a8759b-c3dc-4854-b7b1-5452967237b9","task":"Implement OID4VP (OpenID for Verifiable Presentations) verifier endpoint to request and verify W3C VC or mdoc credentials","domain":"openid.net","steps":["Construct an OID4VP Authorization Request with response_type=vp_token (or code for response_code flow), client_id (verifier identifier), redirect_uri, nonce, and a presentation_definition JSON describing the required credential type and fields.","For JAR (JWT-Secured Authorization Request), sign the Authorization Request as a JWT and either pass it by reference (request_uri) or by value (request parameter); this prevents tampering.","The wallet resolves the presentation_definition, selects matching credentials, applies selective disclosure as configured, and returns a vp_token (and optionally presentation_submission) to the redirect_uri or via direct_post.","The verifier receives vp_token; if it is a W3C VC presentation it is a JWT or JSON-LD object; if mdoc it is CBOR — parse accordingly based on the format in presentation_submission.","Verify the vp_token: check the nonce matches your session, verify the credential issuer signature, verify the holder binding proof, and check credential validity (expiry, revocation status if applicable)."],"gotchas":["The nonce in the Authorization Request must be used exactly once and tied to a server-side session; a reused nonce allows replay of a previously captured vp_token.","presentation_submission describes which vp_token satisfies which input_descriptor; if the wallet omits it or maps incorrectly, the verifier must reject rather than guess the mapping.","OID4VP drafts evolve rapidly; wallet and verifier profiles (e.g. HAIP, EU EUDI) may pin specific draft versions — version mismatch causes parsing failures."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:37.008Z"},"url":"https://mcp.waymark.network/r/56a8759b-c3dc-4854-b7b1-5452967237b9"}