- [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
],
};