-
Notifications
You must be signed in to change notification settings - Fork 511
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
Credential Request for a deleted message does not result in a Problem Report #2549
Comments
What about updating the issue-credential protocol ( |
Just leaving a little update here on progress of the investigation. Basic Steps:
In the issuer side of the code, we hit a logic loophole where we create a cred_ex record when one is not found. The comment is However, that case still won't work as the next step is to throw an error when the cred ex record is not in So I am not sure that the exception thrown is the correct one but in any case it does not get translated into a problem report (which from looking over the protocols seems to be the best practice). Need to do a bit more digging to see if this part of the code is indeed used when holder sends request (but that never applies to indy - only json-ld) without offer and see how best to break that up. |
Interesting. If the request is for an AnonCreds (aka Indy in the code) credential, when it is found that there is no offer, a problem request should be sent and the cred_ex record put into (AFAIK) In theory, the discovery of the “it’s an AnonCreds request and there is no offer” could be done before the cred_ex record is created — but I don’t know if that is feasible. In theory, AFAIK if it is a non-AnonCreds credential issuance, the process CAN start at the request, so it is not automatic that the cred-ex record either not be created or set to the |
Yeah, I'll have to test whatever logic I come up with using indy and json-ld; with indy failing and json-ld carrying on with the assumption that this is a request from the holder. I think I can check the format of the incoming request message to determine indy/json-ld and change the logic when cred_ex not found. Anyway, more to come! Just wanted to post some progress. |
Specific issue reported:
Presumably, the "Request Credential" message from the wallet did not trigger a Problem Report message to the wallet. This is (likely) using the Issue Credential v1.0 protocol.
The most general issue is if/should ACA-Py should (automatically?) send a Problem Report to a connection that sends a message for a non-existent protocol instance? When the thread-id for a message is not found, what should be done?
Options include:
Interesting to know if the handling (whichever is chosen) requires an update per protocol, or can this be handled at a higher level? My guess is that this would be a per protocol (and perhaps per message) change -- perhaps throwing an exception (e.g., "No protocol instance found") when the thread-id is not found, that can be in turn be caught, and a Problem Report sent or not.
Need to look at the Aries RFCs (notably, 0003 Protocols, 0005 DIDComm and 0008 Threads) to check for guidance there.
The text was updated successfully, but these errors were encountered: