Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issuance of a VC with authentication method 'VP_Token' -> java.lang.NullPointerException #922

Open
MrTomJerry opened this issue Feb 4, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@MrTomJerry
Copy link

MrTomJerry commented Feb 4, 2025

Describe the bug

The issuance of a VC with authentication method 'VP_Token' and 'VP Token Requested Profile' = 'DEFAULT' fails with 'java.lang.NullPointerException' in 'wallet-api-1' service.

To Reproduce

Steps to reproduce the behavior:

  1. Empty wallet
    Image

  2. Get NaturalPerson.... VC
    2.1
    Image
    2.2
    Image

2.3
Image

2.4
Image

  1. Get BankID VC with Authorization Method 'VP_Token'

Image

Image

Image

Image

Error message 'unknown error'.

  1. docker-compose logs at the same time
wallet-api-1          | java.lang.NullPointerException
wallet-api-1          | 	at id.walt.webwallet.service.exchange.IssuanceService.processCredentialOffer(IssuanceService.kt:82)
wallet-api-1          | 	at id.walt.webwallet.service.exchange.IssuanceService.access$processCredentialOffer(IssuanceService.kt:19)
wallet-api-1          | 	at id.walt.webwallet.service.exchange.IssuanceService$processCredentialOffer$1.invokeSuspend(IssuanceService.kt)
wallet-api-1          | 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
wallet-api-1          | 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
wallet-api-1          | 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
wallet-api-1          | 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
wallet-api-1          | 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
wallet-api-1          | 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
wallet-api-1          | 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
wallet-api-1          | 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
wallet-api-1          | 10:31:20.755266714  INFO [          D-worker-4] :               WebLog : RESP 400 -> POST http://localhost:7104/wallet-api/wallet/e051324d-2100-42d8-8f02-8e881a9526bc/exchange/useOfferRequest?did=did%3Aweb%3Awallet.dev-ageda-vf.net (Mozilla): body: "Unknown error" (400 Bad Request)

Expected behavior

Issuance of a VC by using authentication method 'VP_Token' works and requested VC is issued after presentation of the VP-Token

Actual behavior

Issuance of a VC by using authentication method 'VP_Token' fails due to java.lang.NullPointerException at IssuanceService.kt:82

Environment

  • waltid-identity tag v0.10.0, used provided docker-compose config and pulled walt.id image
  • waltid-identity tag v0.11.0, used provided docker-compose config and pulled walt.id image
  • Walt.id wallet SaaS, tested on Feb 04, 2025

Screenshots

see above

Additional context

Checked the source code quickly and started wondering if authentication method 'VP_Token' is implemented, yet?

@MrTomJerry MrTomJerry added the bug Something isn't working label Feb 4, 2025
@MrTomJerry MrTomJerry changed the title WORK in progress - Issuance of a VC with authentication method 'VP_Token' -> java.lang.NullPointerException Issuance of a VC with authentication method 'VP_Token' -> java.lang.NullPointerException Feb 4, 2025
@alegomes
Copy link
Contributor

alegomes commented Feb 5, 2025

Thanks for you report, @MrTomJerry .

We'll check your problem as soon as we can.

Best,
Ale

@MrTomJerry
Copy link
Author

Hello @alegomes,

I just saw the latest Walt.ID newsletter "Product Update #22" which announces the availability of Authorization Code Flow in Issuer API with VP_TOKEN in Enterprise Stack (v0.4.0).

Authorization Code Flow in Issuer API

The Issuer API now supports the authorization code flow using ID_TOKEN and VP_TOKEN as authentication methods for OpenID4VCI Draft 11 and 13. This new feature introduces an ⁠authenticationMethod parameter in the ⁠/credentials/issue request, allowing for explicit specification of the desired authentication method.

In the community edition documentation I can see that the VP_TOKEN as auth method is pretty well described. Please see below a screenshot of the chapter in the documentation:

Image

Any news regarding the bug I reported for the community edition?

@alegomes
Copy link
Contributor

Hi @MrTomJerry

I could reproduce the issue. It's now on the backlog to be prioritized by our dev team. I'll keep you up to date.

Best,
Ale

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants