bcgov / DITP

Digital Identity and Trust Program Repository
Apache License 2.0
0 stars 2 forks source link

Update projects to v2 protocols #83

Open esune opened 2 months ago

esune commented 2 months ago

ACA-Py is deprecating several v1 protocols, such as connections, issue-credential and present-proof in favour of did-exchange and the v2 version of the protocols, respectively.

This issue is to track a list of projects/places where the older protocols are in use, that will require upgrading. Please note that the effort to uplift the codebase will be coordinated with resolving some compatibility issues currently present with AFJ/BC Wallet.

esune commented 1 month ago

@ianco are you able to provide insight/estimate on what it would take to upgrade the OrgBook components to support the v2 protocols (issue-credential, present-proof)? Mostly wondering if it will be a minor upgrade (all considered) or there are gotchas we need to be aware of before we start the process.

esune commented 1 month ago

@Jsyro can you confirm MDS is already using the v2 protocols and there is nothing left to do/coordinate for that project? I also forget whether the Natural gas Tenure Branch needs to be updating anything on their end or not...

ianco commented 1 month ago

@ianco are you able to provide insight/estimate on what it would take to upgrade the OrgBook components to support the v2 protocols (issue-credential, present-proof)? Mostly wondering if it will be a minor upgrade (all considered) or there are gotchas we need to be aware of before we start the process.

It's not a HUGE effort. We need to add listeners for the V2 issue credential protocol, but we can just leverage all the existing code to process the received credentials. Likewise there is just one job on the BC Reg issuer side that we need to switch over to the V2 protocol, which again is a relatively minor task (just formatting a different payload for the V2 endpoint). (We also need to switch over the "demo" issuer, but that should just be replicating the BC Reg change.)

On the proof request side OrgBook only supports requests from itself, so this is also just a matter of switching the endpoints and formatting some different payloads.

Altogether probably 2-3 days to do everything.

We need to switch all the issuers over to the V2 endpoints as well (if there are still any other active issuers), once that's done we can disable the V1 endpoints (another relatively minor task).

Jsyro commented 1 month ago

MDS is currently using the V1 protocols in most situations.

Here are the current list of endpoints that MDS references. Some of which will need to be updated with this change.

Is there a date in mind to make these endpoints unavailable in acapy?

traction_token_url = Config.TRACTION_HOST+"/multitenancy/tenant/"+Config.TRACTION_TENANT_ID+"/token"
traction_oob_create_invitation = Config.TRACTION_HOST+"/out-of-band/create-invitation"
traction_offer_credential = Config.TRACTION_HOST+"/issue-credential/send-offer"
revoke_credential_url = Config.TRACTION_HOST+"/revocation/revoke"
fetch_credential_exchanges = Config.TRACTION_HOST+"/issue-credential/records"
esune commented 1 month ago

@Jsyro no date yet, trying to figure out all the consumers that would need updating so we can start planning ahead currently.