-
Notifications
You must be signed in to change notification settings - Fork 516
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
Spike: Investigate/document how to use OOB Connection Reuse with did:peer #2703
Comments
@ianco, could you please take a look at this one? I think it should be easy to try out with the demo and the Swagger API. |
I can look if IDLab can provide a web tool to conveniently and repeatedly generate an OOB credential offer QR code. Would this be useful @ianco ? |
Just started to look at this today. I'm assuming this will use the How do you setup the payload to specify
(above is the sample body on the swagger page) |
There is a on option for triggering emitting a DID peer 2 in these scenarios I think that is what you need to use. The trick I’m wondering about is being able to establish a connection, and then being being able to use |
My hope is that it works out of the box, and we just need to describe how to do it. But if it doesn’t work out of the box, what does happen and how do we fix it? |
See PR #2713 ... I created an integration test to issue a credential and send a proof request and it fails :-( (I think due to an overly aggressive DID validation)
Both askar and askar-anoncreds fail, but with different errors |
@Jsyro FYI ^^^^ |
@ianco — can you write up the reuse part what you did to enable reuse? How does it work — what does the invitee do, and what does the invited do to make this work? I think I see some complications, so am wondering about it. Ignore the issue with the integration test. It’s a trivial fix, I’m pretty sure. |
On the demo I just added the
this sets up the appropriate aca-py flags (I don't recall offhand, maybe just I can write this up in more detail, where should I put the docs? |
Some questions about all the complications I can think of around this:
Thanks! |
Correct - I manually checked that the same connection was being reused
Yes
I believe it uses the agent's public DID (presumably a
I'll need to check this ... |
Looks like this is the class that is likely inherited by V20CredRequest that defines the prover_did regex. this needs to be updated to handle a wider range of dids. I'd probably make a new validator that imports and use the regex defined in pydid, assuming we are still leveraging that library. https://github.com/Indicio-tech/pydid/blob/main/pydid/did.py Let me know if i need to do this, and how we build tests for this usually in the future. |
Sorry @Jsyro — I thought the comments got onto this. The correction needed is covered here, along with the explanation #2714. We need to remove the checking entirely. @ianco has that issue. It’s a trivial change (I could make it almost!) except for I want to make sure the testing is appropriately updated. |
@swcurran is there any work outstanding on this issue or can we close it? |
I can take this. Need to summarize and get it back to BC Wallet team. Thanks! |
@ianco -- a couple of things in this:
The process actually works, but the error should probably be cleaned up. Do you want me to create a new issue for that?
If this needs clarification, or I have it wrong, lets discuss. Thanks! |
The connection reuse logic in the demo is a bit messed up, hence the error. I'm looking into it ... |
Is there anything in ACA-Py for reuse? IMHO — the reuse should be happening in ACA-Py automagically. |
I think aca-py is ok but the demo needs to respond to the webhooks etc. It looks like the demo is making some assumptions about when it should expect a new (vs existing) connection. |
Opened a PR to fix some issues with the demo (PR #2813) however there are now issues with When running the demo using
Also it looks like the DID in the invitation isn't a @swcurran would appreciate some guidance here, should the connection automatically use a |
I think the goals are:
What does the current flow look like? Thanks |
I don't think this is a big deal, we just need to generate a
You mean for all invitations? Or just for re-use? I'm not sure the best way to do this, other than checking (when they create a new multi-use invitation) to see if there is already an existing multi-use invitation (and then re-using it). Otherwise we need to create a special DID in the wallet and tag it somehow.
The "create DID" API currently doesn't work for
I'll put some more details in another comment. |
Reuse should work for all invitations by default, single- and multi-use. All agents should want to support reuse, so we want to make that path easy, and an agent can go out of their way to not support reuse. I don’t know of a use case where they don’t want to support reuse.
Yes — I think that is what we need to do. I was kind of worried we didn’t support this, especially with |
|
Now that we have
did:peer:2/4
support in ACA-Py, we should be able to support connection reuse with:did:peer:2/4
This task is to investigate this use of connections to determine how a Bifold Wallet might be able to use this.
The text was updated successfully, but these errors were encountered: