- Add
getNonce
to client API for use with OID4VCInonce_endpoint
. - Add option to pass
nonce
torequestCredential(s)
.
- Update dependencies.
- Auto-detect whether to include
vc
in the JSON paths when computing presentation definition constraints from a VPR.
- Ensure duplicate paths aren't used when generating a VPR from a presentation definition.
- BREAKING: Use
allOf
instead of an invalidcontains
with an array value when generating presentation filters from a VPR.
- Accept
allOf
in combination withcontains
for array schemas.
- Add support for fetching credential offer from
credential_offer_uri
viagetCredentialOffer()
. - Improve automatic credential definition selection from a credential offer
based on the specified
format
.
- Add support for issuer configuration URLs that do not match RFC 8414,
but instead match the OID4VCI spec, i.e.,
<issuer>/.well-known/...
will be accepted and not just<issuer origin>/.well-known/.../<issuer path>
. - Add support for parsing and using credential offers with
credentials
orcredential_configuration_ids
that include credential configuration IDs that are present in the issuer configuration.
- Allow
vpToken
param to be given when sending an authorization response. This param is optional and does not replace theverifiablePresentation
parameter which is required to build the presentation submission. ThevpToken
param can be used if the format of thevp_token
is not the plain JSON expression of theverifiablePresentation
, but is instead some enveloping format that wraps the VP, such as a JWT (as in VC-JWT).
- Ensure
presentation_required
error is properly nested.
- Allow
format
to be passed when requesting credentials.
- Allow any
format
to be used in credential requests.
- Update
@digitalbazaar/http-client
to 4.0.0.
- Add
prefixJwtVcPath
option to add an additional JSON path that includes the JWT W3C VC 1.1 'vc' prefix to presentation definition constraints fields.
- Add basic OID4VP support. There are many differences in OID4VP implementations in the ecosystem today and OID4VP is still in draft form. This implementation supports a profile of draft 20 that uses LDP / Data Integrity secured VCs and provides utility functions for converting a subset of VPRs to authorization requests and vice versa. This OID4VP implementation should be considered experimental as the ecosystem matures and changes are made.
- Ensure authorization server metadata is retrieved along with credential
issuer metadata. This information is combined to create the
issuerConfig
stored in the client. The client also storesmetadata
with the original metadata from each to allow differentiation as needed. A future version may removeissuerConfig
to avoid any conflation that was the result of previous versions of the OID4VCI spec and implementations built off of this client.
- BREAKING: The client now uses
.well-known/openid-credential-issuer
instead of.well-known/oauth-authorization-server
to match the current version of the OID4VCI spec as of this date.
- Initial release, see individual commits for history. Notably,
no version 1.x was released under this name, instead it was
released as
@digitalbazaar/oidc4vci-client
.