Skip to content

OpenID4VP Flow - InvalidVpToken Error in Wallet Core v0.20.0 #244

@sagar-maiyad

Description

@sagar-maiyad

Version:

Working in: 0.19.0

Failing in: 0.20.0

Issue Summary

After upgrading to Wallet Core v0.20.0, VP submission fails with:

400 Bad Request
{"error":"InvalidVpToken","description":"vp_token contains a non-string element"}

The same implementation works without issues in v0.19.0.

Details

Server Response Before Sending VP:

proof_of_age: [RespondedDocument(documentId=UisbdrdB5Xkr, format=mso_mdoc)]
VpContent: VerifiablePresentations(value={proof_of_age=[Generic(value=o2d2ZXJzaW9uYzEuMGlk)]})

Request Sent:

POST https://verifier-backend.ageverification.dev/wallet/direct_post/eWqWVd-1QeP73eJBGRpdNDoQLZblXEmE_-IJF1plI_N2td7uWwlDN4w4w_tUkSrfJu8HBdE8HR8fFR9PsXY7_A
Content-Type: application/x-www-form-urlencoded

vp_token=%7B%22proof_of_age%22%3A%5B%22o2d2ZXJzaW9uYzEuMGlkb2N1bWVudHOBo2dkb2NUeXBlcWV1LmV1cm9wYS5lYy5h.....

Server Error:

Client request invalid: 400 Bad Request
{"error":"InvalidVpToken","description":"vp_token contains a non-string element"}

Expected Behavior

VP token should be encoded and sent as a string (same behavior as v0.19.0).

Server should accept the VP token without error.

Actual Behavior

Server rejects vp_token because the VP structure produced by Wallet Core v0.20.0 seems to include a non-string element inside the VP array.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions