Type definition of `expected_origins` clashes with IAE endpoint URL
Open
@awoie is already working on this.
Since Dec 18, 2025.
iae
pending close
priority
- Dominant language
- No language data
- Stars
- 125
- Forks
- 41
- PR merge metrics
- No merged PRs in 30d
Description
For the IAE flow, we are using the IAE endpoint URL for the expected_origins for signed requests. The definition of expected_origins is that it contains Origins, not arbitrary URLs. OID4VP implementations might have issues with validating the value if it contains a request URL but an Origin value is expected.
Potential solutions:
- (clean but potentially duplication) use a different field than
expected_origins, e.g.,expected_urls. This approach might need to require more spec changes and duplication of some parts of OID4VP in OID4VCI. - (clean but possibly same security concerns as 3.) use derived origin for
expected_originsas proposed in this PR https://github.com/openid/OpenID4VCI/pull/602. This approach loses some precision which might have an impact on security. - (ugly but quick) Just say that in this case
expected_originscan contain arbitrary URLs including path and query string. Some implementations might cut the non-Origin parts of the URL if they share code paths with DC API handling. Not sure if this could lead to some form of mix-up attack if a host (or Origin) is serving multiple issuer services.
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.
Assessment
This issue has not been assessed yet.