bcgov / aries-vcr

Hyperledger Aries Verifiable Credential Registry (VCR) is a set of application level software components designed to accelerate the adoption of trustworthy entity to entity communications.
Apache License 2.0
78 stars 70 forks source link

Send credential's wallet id to issuer and holder #367

Closed ianco closed 4 years ago

ianco commented 5 years ago

Send the credential's wallet id to both issuer and controller for tracking.

Previously (TOB) we used the wallet id. In Indy Cat we implemented the credential_exchange id, but this is no longer valid since the credential exchange records are now getting deleted.

nrempel commented 5 years ago

Initial thoughts:

Currently have access to credential exchange id in issuer controller, but this is an internal state id for the issuer agent only (can't correlate with holder exchange)

Possible solution:

Explicitly set credential_id to thread_id which would allow the issuer to know the holder's credential ids.

swcurran commented 4 years ago

@ianco - what is the state of this issue? Is there anything to be done? Most importantly, is there anything needed before we launch the live version of ICOB OrgBook.

ianco commented 4 years ago

I've updated Indy Catalyst to use the thread_id as the unique id for the credential (rather than generating a new uuid()) (note that I don't think this is actually displayed anywhere, just stored in the credential table in the database)

I also updated the BC Reg issuer to use the thread_id as the "returned identifier" from the credential submission process (previously it was using the credential_exchange_id).

The end result is we have the same identifier on both ends of the exchange (issuer and holder) so we can support some future audit report that might want to compare the set of credentials issued vs held and what is the difference.

Potentially we can use this id to support credential deletion as well (although I'm not sure the agent keeps the thread_id anywhere after the protocol is completed).