Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

JWT VC Presentation support + refactors

Pre-release
Pre-release
Compare
Choose a tag to compare
@nklomp nklomp released this 30 Apr 21:23
· 107 commits to develop since this release

This release contains many breaking changes. Sorry for these, but this library still is in active development, as
reflected by the major version still being 0.
A lot of code has been refactored. Now certain classes have state, instead of passing around objects between static
methods.

  • Added:
    • Allow to restrict selecting VCs against Formats not communicated in a presentation definition. For instance useful
      for filtering against a OID4VP RP, which signals support for certain Formats, but uses a definition which does not
      include this information
    • Allow to restrict selecting VCs against DID methods not communicated in a presentation definition. For instance useful
      for filtering against a OID4VP RP, which signals support for certain DID methods, but uses a definition which does not
      include this information
    • Allow passing in submission data separately from a VP. Again useful in a OID4VP situation, where presentation
      submission objects can be transferred next to the VP instead if in the VP
    • A simple session/state manager for the RP side. This allows to find back definitions for responses coming back in.
      As this is a library the only implementation is an in memory implementation. It is left up to implementers to
      create their persistent implementations
    • Added support for new version of the spec
    • Support for JWT VC Presentation Profile
    • Support for DID domain linkage
  • Removed:
    • Several dependencies have been removed or moved to development dependencies. Mainly the cryptographic libraries
      have
      been removed
  • Changed:
    • Requests and responses now contain state and can be instantiated from scratch/options or from an actual payload
    • Schema's for AJV are now compiled at build time, instead of at runtime.
  • Fixed:
    • JSON-LD contexts where not always fetched correctly (Github for instance)
    • Signature callback function was not always working after creating copies of data
    • React-native not playing nicely with AJV schema's
    • JWT VCs/VPs were not always handled correctly
    • Submission data contained several errors
    • Holder was sometimes missing from the VP
    • Too many other fixes to list