@sphereon/ssi-sdk.oid4vci-holder 0.34.1-feature.SSISDK.13.50 → 0.34.1-feature.SSISDK.13.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +26 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/package.json +24 -24
- package/src/agent/OID4VCIHolder.ts +16 -16
- package/src/services/OID4VCIHolderService.ts +1 -0
package/dist/index.cjs
CHANGED
|
@@ -139,7 +139,8 @@ var import_oid4vci_common4 = require("@sphereon/oid4vci-common");
|
|
|
139
139
|
var import_ssi_sdk_ext5 = require("@sphereon/ssi-sdk-ext.did-utils");
|
|
140
140
|
var import_ssi_sdk_ext6 = require("@sphereon/ssi-sdk-ext.identifier-resolution");
|
|
141
141
|
var import_ssi_sdk_ext7 = require("@sphereon/ssi-sdk-ext.key-utils");
|
|
142
|
-
var import_ssi_sdk2 = require("@sphereon/ssi-sdk.
|
|
142
|
+
var import_ssi_sdk2 = require("@sphereon/ssi-sdk.core");
|
|
143
|
+
var import_ssi_sdk3 = require("@sphereon/ssi-sdk.data-store");
|
|
143
144
|
var import_ssi_types2 = require("@sphereon/ssi-types");
|
|
144
145
|
var import_utils2 = require("@veramo/utils");
|
|
145
146
|
var import_did_jwt = require("did-jwt");
|
|
@@ -2085,6 +2086,7 @@ var getIssuanceCryptoSuite = /* @__PURE__ */ __name(async (opts) => {
|
|
|
2085
2086
|
case "jwt":
|
|
2086
2087
|
case "jwt_vc_json":
|
|
2087
2088
|
case "jwt_vc":
|
|
2089
|
+
case "vc+sd-jwt":
|
|
2088
2090
|
case "dc+sd-jwt":
|
|
2089
2091
|
case "mso_mdoc": {
|
|
2090
2092
|
const supportedPreferences = jwtCryptographicSuitePreferences.filter((suite) => signing_algs_supported.includes(suite));
|
|
@@ -2154,7 +2156,6 @@ var startFirstPartApplicationMachine = /* @__PURE__ */ __name(async (args, conte
|
|
|
2154
2156
|
|
|
2155
2157
|
// src/agent/OID4VCIHolder.ts
|
|
2156
2158
|
var import_polyfill = require("cross-fetch/polyfill");
|
|
2157
|
-
var import_ssi_sdk3 = require("@sphereon/ssi-sdk.core");
|
|
2158
2159
|
var oid4vciHolderContextMethods = [
|
|
2159
2160
|
"cmGetContacts",
|
|
2160
2161
|
"cmGetContact",
|
|
@@ -2170,7 +2171,7 @@ var oid4vciHolderContextMethods = [
|
|
|
2170
2171
|
];
|
|
2171
2172
|
var logger = import_ssi_types2.Loggers.DEFAULT.get("sphereon:oid4vci:holder");
|
|
2172
2173
|
function signCallback(identifier, context, nonce) {
|
|
2173
|
-
return async (jwt, kid) => {
|
|
2174
|
+
return async (jwt, kid, noIssPayloadUpdate) => {
|
|
2174
2175
|
let resolution = await context.agent.identifierManagedGet(identifier);
|
|
2175
2176
|
const jwk = jwt.header.jwk ?? (resolution.method === "jwk" ? resolution.jwk : void 0);
|
|
2176
2177
|
if (!resolution.issuer && !jwt.payload.iss) {
|
|
@@ -2188,7 +2189,7 @@ function signCallback(identifier, context, nonce) {
|
|
|
2188
2189
|
return (await context.agent.jwtCreateJwsCompactSignature({
|
|
2189
2190
|
issuer: {
|
|
2190
2191
|
...resolution,
|
|
2191
|
-
noIssPayloadUpdate: false
|
|
2192
|
+
noIssPayloadUpdate: noIssPayloadUpdate ?? false
|
|
2192
2193
|
},
|
|
2193
2194
|
protectedHeader: header,
|
|
2194
2195
|
payload
|
|
@@ -2224,6 +2225,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
2224
2225
|
};
|
|
2225
2226
|
vcFormatPreferences = [
|
|
2226
2227
|
"dc+sd-jwt",
|
|
2228
|
+
"vc+sd-jwt",
|
|
2227
2229
|
"mso_mdoc",
|
|
2228
2230
|
"jwt_vc_json",
|
|
2229
2231
|
"jwt_vc",
|
|
@@ -2256,7 +2258,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
2256
2258
|
onIdentifierCreated;
|
|
2257
2259
|
onVerifyEBSICredentialIssuer;
|
|
2258
2260
|
constructor(options) {
|
|
2259
|
-
const { onContactIdentityCreated, onCredentialStored, onIdentifierCreated, onVerifyEBSICredentialIssuer, vcFormatPreferences, jsonldCryptographicSuitePreferences, didMethodPreferences, jwtCryptographicSuitePreferences, defaultAuthorizationRequestOptions, hasher =
|
|
2261
|
+
const { onContactIdentityCreated, onCredentialStored, onIdentifierCreated, onVerifyEBSICredentialIssuer, vcFormatPreferences, jsonldCryptographicSuitePreferences, didMethodPreferences, jwtCryptographicSuitePreferences, defaultAuthorizationRequestOptions, hasher = import_ssi_sdk2.defaultHasher } = {
|
|
2260
2262
|
...options
|
|
2261
2263
|
};
|
|
2262
2264
|
this.hasher = hasher;
|
|
@@ -2637,26 +2639,26 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
2637
2639
|
return Promise.reject(Error("Missing credential offers in context"));
|
|
2638
2640
|
}
|
|
2639
2641
|
let correlationId = credentialsToAccept[0].correlationId;
|
|
2640
|
-
let identifierType =
|
|
2642
|
+
let identifierType = import_ssi_sdk3.CorrelationIdentifierType.DID;
|
|
2641
2643
|
if (!correlationId.toLowerCase().startsWith("did:")) {
|
|
2642
|
-
identifierType =
|
|
2644
|
+
identifierType = import_ssi_sdk3.CorrelationIdentifierType.URL;
|
|
2643
2645
|
if (correlationId.startsWith("http")) {
|
|
2644
2646
|
correlationId = new URL(correlationId).hostname;
|
|
2645
2647
|
}
|
|
2646
2648
|
}
|
|
2647
2649
|
const identity = {
|
|
2648
2650
|
alias: credentialsToAccept[0].correlationId,
|
|
2649
|
-
origin:
|
|
2651
|
+
origin: import_ssi_sdk3.IdentityOrigin.EXTERNAL,
|
|
2650
2652
|
roles: [
|
|
2651
|
-
|
|
2653
|
+
import_ssi_sdk3.CredentialRole.ISSUER
|
|
2652
2654
|
],
|
|
2653
2655
|
identifier: {
|
|
2654
2656
|
type: identifierType,
|
|
2655
2657
|
correlationId
|
|
2656
2658
|
},
|
|
2657
|
-
...identifierType ===
|
|
2659
|
+
...identifierType === import_ssi_sdk3.CorrelationIdentifierType.URL && {
|
|
2658
2660
|
connection: {
|
|
2659
|
-
type:
|
|
2661
|
+
type: import_ssi_sdk3.ConnectionType.OPENID_CONNECT,
|
|
2660
2662
|
config: {
|
|
2661
2663
|
clientId: "138d7bf8-c930-4c6e-b928-97d3a4928b01",
|
|
2662
2664
|
clientSecret: "03b3955f-d020-4f2a-8a27-4e452d4e27a0",
|
|
@@ -2683,7 +2685,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
2683
2685
|
}
|
|
2684
2686
|
async oid4vciHolderGetIssuerBranding(args, context) {
|
|
2685
2687
|
const { serverMetadata, contact } = args;
|
|
2686
|
-
const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(
|
|
2688
|
+
const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_sdk3.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
|
|
2687
2689
|
if (issuerCorrelationId) {
|
|
2688
2690
|
const branding = await context.agent.ibGetIssuerBranding({
|
|
2689
2691
|
filter: [
|
|
@@ -2713,7 +2715,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
2713
2715
|
if (!contact) {
|
|
2714
2716
|
return Promise.reject(Error("Missing contact in context"));
|
|
2715
2717
|
}
|
|
2716
|
-
const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(
|
|
2718
|
+
const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_sdk3.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
|
|
2717
2719
|
const branding = await context.agent.ibGetIssuerBranding({
|
|
2718
2720
|
filter: [
|
|
2719
2721
|
{
|
|
@@ -2820,7 +2822,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
2820
2822
|
return Promise.reject(Error("No credential found in credential response"));
|
|
2821
2823
|
}
|
|
2822
2824
|
const wrappedIssuerVC = import_ssi_types2.CredentialMapper.toWrappedVerifiableCredential(issuerVC, {
|
|
2823
|
-
hasher: this.hasher ??
|
|
2825
|
+
hasher: this.hasher ?? import_ssi_sdk2.defaultHasher
|
|
2824
2826
|
});
|
|
2825
2827
|
console.log(`Wrapped VC: ${wrappedIssuerVC.type}, ${wrappedIssuerVC.format}`);
|
|
2826
2828
|
let issuer;
|
|
@@ -2921,11 +2923,11 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
2921
2923
|
const [subjectCorrelationType, subjectCorrelationId] = this.determineSubjectCorrelation(issuanceOpt.identifier, issuer);
|
|
2922
2924
|
const persistedCredential = await context.agent.crsAddCredential({
|
|
2923
2925
|
credential: {
|
|
2924
|
-
rawDocument: (0,
|
|
2926
|
+
rawDocument: (0, import_ssi_sdk3.ensureRawDocument)(persistCredential),
|
|
2925
2927
|
kmsKeyRef,
|
|
2926
2928
|
identifierMethod: method,
|
|
2927
|
-
credentialRole:
|
|
2928
|
-
issuerCorrelationType: issuer?.startsWith("did:") ?
|
|
2929
|
+
credentialRole: import_ssi_sdk3.CredentialRole.HOLDER,
|
|
2930
|
+
issuerCorrelationType: issuer?.startsWith("did:") ? import_ssi_sdk3.CredentialCorrelationType.DID : import_ssi_sdk3.CredentialCorrelationType.URL,
|
|
2929
2931
|
issuerCorrelationId: issuer,
|
|
2930
2932
|
subjectCorrelationType,
|
|
2931
2933
|
subjectCorrelationId
|
|
@@ -2993,12 +2995,12 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
2993
2995
|
case "did":
|
|
2994
2996
|
if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierDidResult)(identifier)) {
|
|
2995
2997
|
return [
|
|
2996
|
-
|
|
2998
|
+
import_ssi_sdk3.CredentialCorrelationType.DID,
|
|
2997
2999
|
identifier.did
|
|
2998
3000
|
];
|
|
2999
3001
|
} else if ((0, import_ssi_sdk_ext6.isManagedIdentifierDidOpts)(identifier)) {
|
|
3000
3002
|
return [
|
|
3001
|
-
|
|
3003
|
+
import_ssi_sdk3.CredentialCorrelationType.DID,
|
|
3002
3004
|
typeof identifier.identifier === "string" ? identifier.identifier : identifier.identifier.did
|
|
3003
3005
|
];
|
|
3004
3006
|
}
|
|
@@ -3006,12 +3008,12 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
3006
3008
|
case "kid":
|
|
3007
3009
|
if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierKidResult)(identifier)) {
|
|
3008
3010
|
return [
|
|
3009
|
-
|
|
3011
|
+
import_ssi_sdk3.CredentialCorrelationType.KID,
|
|
3010
3012
|
identifier.kid
|
|
3011
3013
|
];
|
|
3012
3014
|
} else if ((0, import_ssi_sdk_ext6.isManagedIdentifierDidOpts)(identifier)) {
|
|
3013
3015
|
return [
|
|
3014
|
-
|
|
3016
|
+
import_ssi_sdk3.CredentialCorrelationType.KID,
|
|
3015
3017
|
identifier.identifier
|
|
3016
3018
|
];
|
|
3017
3019
|
}
|
|
@@ -3019,19 +3021,19 @@ var OID4VCIHolder = class _OID4VCIHolder {
|
|
|
3019
3021
|
case "x5c":
|
|
3020
3022
|
if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierX5cResult)(identifier)) {
|
|
3021
3023
|
return [
|
|
3022
|
-
|
|
3024
|
+
import_ssi_sdk3.CredentialCorrelationType.X509_SAN,
|
|
3023
3025
|
identifier.x5c.join("\r\n")
|
|
3024
3026
|
];
|
|
3025
3027
|
} else if ((0, import_ssi_sdk_ext6.isManagedIdentifierX5cOpts)(identifier)) {
|
|
3026
3028
|
return [
|
|
3027
|
-
|
|
3029
|
+
import_ssi_sdk3.CredentialCorrelationType.X509_SAN,
|
|
3028
3030
|
identifier.identifier.join("\r\n")
|
|
3029
3031
|
];
|
|
3030
3032
|
}
|
|
3031
3033
|
break;
|
|
3032
3034
|
}
|
|
3033
3035
|
return [
|
|
3034
|
-
|
|
3036
|
+
import_ssi_sdk3.CredentialCorrelationType.URL,
|
|
3035
3037
|
issuer
|
|
3036
3038
|
];
|
|
3037
3039
|
}
|