How eu-digital-identity-wallet/eudi-srv-verifier-endpoint works
EUDI Verifier Endpoint is a REST backend implementing OpenID4VP. A verifier initiates a presentation transaction; the wallet retrieves the authorization request and posts a presentation response; the verifier validates it and the verifier can retrieve the result. The repository also includes DC API request/response handling, status checks, and scheduled presentation cleanup. The graph uses README-documented flows and relationships visible in sampled source or the source index; unsampled wiring is omitted where evidence is insufficient.
Main entry points: VerifierContext.kt Application wiring · VerifierApi.kt Verifier API · WalletApi.kt Wallet API · RetrieveRequestObject.kt Request object
Components 20
HTTP APIs
- Verifier API
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/input/web/VerifierApi.kt - Wallet API
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/input/web/WalletApi.kt
Presentation workflow
- Initialize transaction
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/InitTransaction.kt - Request object
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/RetrieveRequestObject.kt - Post wallet response
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/PostWalletResponse.kt - Get wallet response
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/GetWalletResponse.kt - DC API retrieval
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/RetrieveDcApiPresentationRequest.kt
Credential validation
- VP validation
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/presentation/ValidateSdJwtVcOrMsoMdocVerifiablePresentation.kt - MDoc validation
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/mso/DeviceResponseValidator.kt - Document checks
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/mso/DocumentValidator.kt - SD-JWT VC checks
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/sdjwtvc/SdJwtVcValidator.kt - Status checks
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/tokenstatuslist/StatusListTokenValidator.kt
State and runtime
- Presentation model
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/domain/Presentation.kt - Presentation events
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/out/persistence/PresentationEvent.kt - Event publisher port
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/out/persistence/PublishPresentationEvent.kt - Presentation repository
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/persistence/PresentationInMemoryRepo.kt - Application wiring
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/VerifierContext.kt - Verifier configuration
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/domain/VerifierConfig.kt
Other components
- Verifier
- Wallet
Connections 18
- Verifier → Verifier API: initiates and queries
README.md - Verifier API → Initialize transaction: invokes
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/input/web/VerifierApi.kt - Verifier API → Get wallet response: invokes
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/input/web/VerifierApi.kt - Wallet → Wallet API: retrieves and posts
README.md - Wallet API → Request object: retrieves request
README.md - Wallet API → Post wallet response: posts response
README.md - Verifier API → DC API retrieval: routes retrieval
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/input/web/VerifierApi.kt - Request object → Presentation repository: loads and stores
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/RetrieveRequestObject.kt - Request object → Presentation model: advances state
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/RetrieveRequestObject.kt - DC API retrieval → Presentation model: checks state
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/RetrieveDcApiPresentationRequest.kt - DC API retrieval → Presentation events: reads events
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/port/input/RetrieveDcApiPresentationRequest.kt - VP validation → SD-JWT VC checks: validates SD-JWT
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/presentation/ValidateSdJwtVcOrMsoMdocVerifiablePresentation.kt - VP validation → MDoc validation: validates MDoc
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/presentation/ValidateSdJwtVcOrMsoMdocVerifiablePresentation.kt - Document checks → Status checks: checks status
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/adapter/out/mso/DocumentValidator.kt - Application wiring → Presentation repository: configures
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/VerifierContext.kt - Application wiring → VP validation: configures
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/VerifierContext.kt - Application wiring → Verifier configuration: loads settings
src/main/kotlin/eu/europa/ec/eudi/verifier/endpoint/VerifierContext.kt - Application wiring → Event publisher port: wires events