impierce / openid4vc

Rust implementation of the OpenID4VC standards. The library will offer implementations for SIOPv2, OpenID4VP and OpenID4VCI.
https://www.impierce.com
Apache License 2.0
28 stars 3 forks source link

feat: add pre-authorized code flow #44

Closed nanderstabel closed 1 year ago

nanderstabel commented 1 year ago

Description of change

This PR introduces the Pre-Authorized Code Flow as described in Section 3.5 of the OpenID4VCI specification. The flow is fully implemented from the perspective of the Wallet. From the Credential Issuer side there is still work to do.

Links to any relevant issues

46

closes #45

How the change has been tested

Two integration tests are added for both flows. They can be found in oid4vc-manager/tests. All/most new oid4vci related structs are extensively unit-tested (mainly (de)serialization) with the help of the oid4vci spec provided examples here: https://bitbucket.org/openid/connect/src/master/openid-4-verifiable-credential-issuance/examples/.

Definition of Done checklist

Add an x to the boxes that are relevant to your changes.