lepture / authlib

The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS,JWE,JWK,JWA,JWT included.
https://authlib.org/
BSD 3-Clause "New" or "Revised" License
4.39k stars 436 forks source link

Support for OIDC4VC standards #613

Open piraces opened 6 months ago

piraces commented 6 months ago

Is your feature request related to a problem? Please describe.

It's not related to a problem. More related to the set of emergent standards that are being activelly developed for handling Verifiable Credentials.

OpenID Foundation is developing a set of standards for handling verifiable credentials. They are being developed under the name OIDC4VC - OpenId Connect for Verifiable Credentials, and they include standards for issuing and presenting credentials under what is called the issuer-holder-verifier model, which attempts to avoid IDPs auditing every authentication by users.

Those standars are still emergent, but they are likely to get great adoption due to being required for certain use cases by EU eIDAS v2: European Digital Identity Architecture and Reference Framework.

Describe the solution you'd like

Since authlib implements other standards from the OpenID Foundation, facilitating the integration of systems accepting those novel authentication and attestation exchange methods would be ideal.

Describe alternatives you've considered

There are already some implementations listed here. Microsoft is also working in a set of services under its Microsoft Entra Verified Id "product".

In the Ory Hydra project they have also made some related developments and plan to keep going to support this novel standards.

In the demos mentioned above, novel standards are integrated with existing IAMs (Keycloak) via OIDC standard methods, and new services are in charge of issuing and verifying credentials according to novel standards. But that adds an integration step that could be avoided if OIDC implementors (isolated or included in IDPs) implement and accept those standards.

Additional context

N/A