Skip to content

Verify presentation tokens#1005

Merged
Magnus-Kuhn merged 34 commits intorelease/openid4vcfrom
verify-presentation
Mar 27, 2026
Merged

Verify presentation tokens#1005
Magnus-Kuhn merged 34 commits intorelease/openid4vcfrom
verify-presentation

Conversation

@Magnus-Kuhn
Copy link
Copy Markdown
Contributor

Readiness checklist

  • I added/updated tests.
  • I ensured that the PR title is good enough for the changelog.
  • I labeled the PR.
  • I self-reviewed the PR.

@Magnus-Kuhn Magnus-Kuhn added the enhancement New feature or request label Mar 20, 2026
@Magnus-Kuhn Magnus-Kuhn requested a review from tnotheis March 26, 2026 14:06
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds runtime support to verify verifiable presentation “presentation tokens” (SD-JWT-based) and uses that verification to decide whether the app UI should treat a received presentation token as valid.

Changes:

  • Introduce VerifyPresentationToken use case + schema, expose it via the runtime OpenId4VcFacade.
  • Add holder/controller verification plumbing in @nmshd/consumption and extend runtime tests for verification outcomes.
  • Update AppStringProcessor and its tests to verify presentation tokens and add local Eudiplo dev/test container assets.

Reviewed changes

Copilot reviewed 13 out of 22 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
tsconfig.eslint.json Includes .dev/eudiplo in ESLint TS project scope.
packages/runtime/test/consumption/openid4vc.test.ts Adds tests for creating and verifying presentation tokens, including negative cases.
packages/runtime/src/useCases/consumption/openid4vc/index.ts Exports the new verify use case.
packages/runtime/src/useCases/consumption/openid4vc/VerifyPresentationToken.ts New use case to verify presentation token content against an expected nonce.
packages/runtime/src/useCases/common/Schemas.ts Adds JSON schema for VerifyPresentationTokenRequest.
packages/runtime/src/extensibility/facades/consumption/OpenId4VcFacade.ts Exposes verifyPresentationToken() on the facade.
packages/consumption/src/modules/openid4vc/local/Holder.ts Adds holder-side verification via SdJwtVcApi.verify().
packages/consumption/src/modules/openid4vc/OpenId4VcController.ts Exposes holder verification via controller method.
packages/app-runtime/test/runtime/AppStringProcessor.test.ts Updates test to obtain a real presentation token via Eudiplo and process its URL.
packages/app-runtime/src/AppStringProcessor.ts Calls verify API and passes validity flag to showVerifiablePresentation.
.dev/eudiplo/startEudiplo.ts Adds a testcontainer helper to run Eudiplo with local config.
.dev/eudiplo/config/test/presentation/test.json Adds Eudiplo presentation config fixture.
.dev/eudiplo/config/test/keys/key.json Adds Eudiplo key fixture.
.dev/eudiplo/config/test/issuance/issuance.json Adds Eudiplo issuance config fixture.
.dev/eudiplo/config/test/issuance/credentials/test.json Adds Eudiplo credential config fixture.
.dev/eudiplo/config/test/info.json Adds Eudiplo tenant info fixture.
.dev/eudiplo/config/test/images/logo.png Adds Eudiplo logo fixture used in displays.
.dev/eudiplo/config/test/clients/test-admin.json Adds Eudiplo client fixture for tests.
.dev/eudiplo/config/test/certs/certificate.json Adds Eudiplo certificate fixture.
.dev/compose.openid4vc.yml Updates volume mount path for Eudiplo config assets.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Magnus-Kuhn Magnus-Kuhn requested a review from tnotheis March 27, 2026 13:05
@tnotheis
Copy link
Copy Markdown
Member

LGTM. @Milena-Czierlinski should perform a review as well though.

@Magnus-Kuhn Magnus-Kuhn merged commit 3e55d24 into release/openid4vc Mar 27, 2026
15 checks passed
@Magnus-Kuhn Magnus-Kuhn deleted the verify-presentation branch March 27, 2026 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants