Skip to content

Verify presentation tokens#1005

Open
Magnus-Kuhn wants to merge 34 commits intorelease/openid4vcfrom
verify-presentation
Open

Verify presentation tokens#1005
Magnus-Kuhn wants to merge 34 commits intorelease/openid4vcfrom
verify-presentation

Conversation

@Magnus-Kuhn
Copy link
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

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.

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