animo / paradym-wallet

With Paradym Wallet, you can seamlessly manage and present your digital credentials
https://paradym.id
Apache License 2.0
32 stars 12 forks source link

feat: credential selection in proof request #113

Closed TimoGlastra closed 3 months ago

TimoGlastra commented 3 months ago

This supersedes #71 and adds credential selection. It's a bit meh as you can't really see the credential you're selection.

So I had two potential ideas:

Works with both DIDComm and OpenID4VC.

@berendsliedrecht @janrtvld WDYT?

https://github.com/animo/paradym-wallet/assets/23165168/298474bb-f76f-4e03-9642-d2aeed3cf931

TimoGlastra commented 3 months ago

As you can see in the last commit, I disabled it for now in the UI. We can enable it again soon when we reworked the UX / design for selecting a credential

berendsliedrecht commented 3 months ago

@TimoGlastra do you need an additional review on this?

TimoGlastra commented 3 months ago

No it's ok 👍

TimoGlastra commented 3 months ago

I've updated this with the grouping, but have improved upon it a bit. We prefer grouping by CREDENTIAL, as it's what we use in Paradym and otherwise if all the matches for a requested entry match. In most cases I think this should suffice. And we will filter the matches so it correctly shows the options if selection is enabled that can be used for all credentials in the group.

There is one case that is not catched by this, and this is when you request a predicate and values from the same credential basically, but without the CREDENTIAL prefix in group name. This can gives multiple separate optoins ,but I feel this is more a limitation of AnonCreds proof requests, which we have now sovled using the CREDENTIAL prefix

There has been some pushback on adding this feature to AnonCreds v1, so I think our 'workaround' is fine here. https://github.com/hyperledger/anoncreds-rs/issues/292

TimoGlastra commented 3 months ago

Adding a "received on XXX" will probably already help a lot with being able to distinguish credentials when selecting