Skip to content

v0.4.0 - Generic mdoc request support

Choose a tag to compare

@MasterKale MasterKale released this 27 Apr 06:38
· 19 commits to main since this release
37bab72
  • [server] Presentation requests can now be generated for mdoc credentials using different doctypes and more complex claim paths, and for SD-JWT-VC credentials with more complex paths (#16)

Example requests

const request = await generatePresentationRequest({
  credentialOptions: {
    format: "mdoc",
    doctype: "org.iso.7367.1.mVRC",
    claimPathPrefix: "org.iso.18013.5.1",
    desiredClaims: ["registration_number", "date_of_registration", "vehicle_holder"],
  },
  requestOrigin: "http://localhost:8000",
});
// Alternative types for values of `credentialOptions` above
import type {
  OID4VPMdocCredentialOptionsSimple, // <---- new
  OID4VPMdocCredentialOptionsFull,   // <---- new
  OID4VPSDJWTCredentialOptions,
} from "@simpledigicreds/server";
// A straightforward European PID mdoc request
const mdocPIDRequest: OID4VPMdocCredentialOptionsSimple = {
  format: "mdoc",
  doctype: "eu.europa.ec.eudi.pid.1",
  claimPathPrefix: "eu.europa.ec.eudi.pid.1",
  desiredClaims: ["family_name", "given_name", "nationality"],
};
// An mdoc request with claims across multiple namespaces
const mdocRequestFull: OID4VPMdocCredentialOptionsFull = {
  format: "mdoc",
  doctype: "org.iso.7367.1.mVRC",
  desiredClaims: [
    ["org.iso.23220.1", "issue_date"],
    ["org.iso.23220.1", "issuing_authority_unicode"],
    ["org.iso.7367.1", "vehicle_holder"],
    ["org.iso.7367.1", "registration_number"],
  ],
};
// A more complex SD-JWT-VC request with a mix of single-path and multi-path claims
const sdjwtvcRequestComplex: OID4VPSDJWTCredentialOptions = {
  format: "sd-jwt-vc",
  acceptedVCTValues: ["urn:eudi:pid:1"],
  desiredClaims: [
    "given_name",
    "family_name",
    ["age_equal_or_over", "18"],  // <---- new
  ],
};