@sphereon/oid4vci-client 0.12.1-next.21 → 0.12.1-next.23
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/AccessTokenClient.d.ts.map +1 -1
- package/dist/AccessTokenClient.js +5 -3
- package/dist/AccessTokenClient.js.map +1 -1
- package/dist/AccessTokenClientV1_0_11.d.ts.map +1 -1
- package/dist/AccessTokenClientV1_0_11.js +5 -4
- package/dist/AccessTokenClientV1_0_11.js.map +1 -1
- package/dist/AuthorizationCodeClient.js +2 -2
- package/dist/OpenID4VCIClient.d.ts.map +1 -1
- package/dist/OpenID4VCIClient.js +11 -5
- package/dist/OpenID4VCIClient.js.map +1 -1
- package/dist/OpenID4VCIClientV1_0_11.d.ts +1 -1
- package/dist/OpenID4VCIClientV1_0_11.d.ts.map +1 -1
- package/dist/OpenID4VCIClientV1_0_11.js +14 -7
- package/dist/OpenID4VCIClientV1_0_11.js.map +1 -1
- package/dist/OpenID4VCIClientV1_0_13.d.ts.map +1 -1
- package/dist/OpenID4VCIClientV1_0_13.js +11 -6
- package/dist/OpenID4VCIClientV1_0_13.js.map +1 -1
- package/dist/ProofOfPossessionBuilder.js +6 -6
- package/dist/ProofOfPossessionBuilder.js.map +1 -1
- package/dist/functions/AccessTokenUtil.d.ts.map +1 -1
- package/dist/functions/AccessTokenUtil.js +20 -16
- package/dist/functions/AccessTokenUtil.js.map +1 -1
- package/lib/AccessTokenClient.ts +3 -1
- package/lib/AccessTokenClientV1_0_11.ts +2 -1
- package/lib/AuthorizationCodeClient.ts +2 -2
- package/lib/OpenID4VCIClient.ts +8 -2
- package/lib/OpenID4VCIClientV1_0_11.ts +14 -5
- package/lib/OpenID4VCIClientV1_0_13.ts +12 -5
- package/lib/ProofOfPossessionBuilder.ts +6 -6
- package/lib/__tests__/CredentialRequestClient.spec.ts +8 -8
- package/lib/__tests__/CredentialRequestClientBuilder.spec.ts +1 -1
- package/lib/__tests__/CredentialRequestClientV1_0_11.spec.ts +7 -7
- package/lib/__tests__/ProofOfPossessionBuilder.spec.ts +23 -23
- package/lib/__tests__/SdJwt.spec.ts +26 -26
- package/lib/__tests__/data/VciDataFixtures.ts +6 -6
- package/lib/functions/AccessTokenUtil.ts +17 -14
- package/package.json +3 -3
|
@@ -8,12 +8,12 @@ import { ProofOfPossessionBuilder } from '..';
|
|
|
8
8
|
import { IDENTIPROOF_ISSUER_URL } from './MetadataMocks';
|
|
9
9
|
|
|
10
10
|
const jwt: Jwt = {
|
|
11
|
-
header: { alg: Alg.ES256, kid: 'did:example:ebfeb1f712ebc6f1c276e12ec21/keys/1', typ: '
|
|
11
|
+
header: { alg: Alg.ES256, kid: 'did:example:ebfeb1f712ebc6f1c276e12ec21/keys/1', typ: 'JWT' },
|
|
12
12
|
payload: { iss: 'sphereon:wallet', nonce: 'tZignsnFbp', jti: 'tZignsnFbp223', aud: IDENTIPROOF_ISSUER_URL, iat: Date.now() / 1000 },
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
const jwt_withoutDid: Jwt = {
|
|
16
|
-
header: { alg: Alg.ES256, kid: 'ebfeb1f712ebc6f1c276e12ec21/keys/1', typ: '
|
|
16
|
+
header: { alg: Alg.ES256, kid: 'ebfeb1f712ebc6f1c276e12ec21/keys/1', typ: 'JWT' },
|
|
17
17
|
payload: { iss: 'sphereon:wallet', nonce: 'tZignsnFbp', jti: 'tZignsnFbp223', aud: IDENTIPROOF_ISSUER_URL, iat: Date.now() / 1000 },
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -62,10 +62,10 @@ describe('ProofOfPossession Builder ', () => {
|
|
|
62
62
|
it('should fail without supplied proof or callbacks and with kid without did', async function () {
|
|
63
63
|
await expect(
|
|
64
64
|
ProofOfPossessionBuilder.fromProof(undefined as never, OpenId4VCIVersion.VER_1_0_13)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
.withIssuer(IDENTIPROOF_ISSUER_URL)
|
|
66
|
+
.withClientId('sphereon:wallet')
|
|
67
|
+
.withKid(kid_withoutDid)
|
|
68
|
+
.build(),
|
|
69
69
|
).rejects.toThrow(Error(PROOF_CANT_BE_CONSTRUCTED));
|
|
70
70
|
});
|
|
71
71
|
|
|
@@ -87,11 +87,11 @@ describe('ProofOfPossession Builder ', () => {
|
|
|
87
87
|
callbacks: { signCallback: proofOfPossessionCallbackFunction },
|
|
88
88
|
version: OpenId4VCIVersion.VER_1_0_08,
|
|
89
89
|
})
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
.withJwt(undefined as never)
|
|
91
|
+
.withIssuer(IDENTIPROOF_ISSUER_URL)
|
|
92
|
+
.withClientId('sphereon:wallet')
|
|
93
|
+
.withKid(kid_withoutDid)
|
|
94
|
+
.build(),
|
|
95
95
|
).toThrow(Error(NO_JWT_PROVIDED));
|
|
96
96
|
});
|
|
97
97
|
|
|
@@ -118,10 +118,10 @@ describe('ProofOfPossession Builder ', () => {
|
|
|
118
118
|
},
|
|
119
119
|
version: OpenId4VCIVersion.VER_1_0_08,
|
|
120
120
|
})
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
.withIssuer(IDENTIPROOF_ISSUER_URL)
|
|
122
|
+
.withKid(kid_withoutDid)
|
|
123
|
+
.withClientId('sphereon:wallet')
|
|
124
|
+
.build();
|
|
125
125
|
expect(proof).toBeDefined();
|
|
126
126
|
});
|
|
127
127
|
|
|
@@ -152,10 +152,10 @@ describe('ProofOfPossession Builder ', () => {
|
|
|
152
152
|
callbacks: { signCallback: proofOfPossessionCallbackFunction },
|
|
153
153
|
version: OpenId4VCIVersion.VER_1_0_08,
|
|
154
154
|
})
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
.withIssuer(IDENTIPROOF_ISSUER_URL)
|
|
156
|
+
.withClientId('sphereon:wallet')
|
|
157
|
+
.withKid(kid_withoutDid)
|
|
158
|
+
.build(),
|
|
159
159
|
).rejects.toThrow(Error(JWS_NOT_VALID));
|
|
160
160
|
});
|
|
161
161
|
|
|
@@ -186,10 +186,10 @@ describe('ProofOfPossession Builder ', () => {
|
|
|
186
186
|
callbacks: { signCallback: proofOfPossessionCallbackFunction },
|
|
187
187
|
version: OpenId4VCIVersion.VER_1_0_08,
|
|
188
188
|
})
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
189
|
+
.withIssuer(IDENTIPROOF_ISSUER_URL)
|
|
190
|
+
.withClientId('sphereon:wallet')
|
|
191
|
+
.withKid(kid_withoutDid)
|
|
192
|
+
.build(),
|
|
193
193
|
).rejects.toThrow(Error(JWS_NOT_VALID));
|
|
194
194
|
});
|
|
195
195
|
});
|
|
@@ -215,37 +215,37 @@ describe('sd-jwt vc', () => {
|
|
|
215
215
|
const offered = supported['SdJwtCredentialId'] as CredentialSupportedSdJwtVc;
|
|
216
216
|
|
|
217
217
|
nock(issuerMetadata.token_endpoint as string)
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
218
|
+
.post('/')
|
|
219
|
+
.reply(200, async (_, body: string) => {
|
|
220
|
+
const parsedBody = Object.fromEntries(body.split('&').map((x) => x.split('=')));
|
|
221
|
+
return createAccessTokenResponse(parsedBody as AccessTokenRequest, {
|
|
222
|
+
credentialOfferSessions: vcIssuer.credentialOfferSessions,
|
|
223
|
+
accessTokenIssuer: 'https://issuer.example.com',
|
|
224
|
+
cNonces: vcIssuer.cNonces,
|
|
225
|
+
cNonce: 'a-c-nonce',
|
|
226
|
+
accessTokenSignerCallback: async () => 'ey.val.ue',
|
|
227
|
+
tokenExpiresIn: 500,
|
|
228
|
+
});
|
|
228
229
|
});
|
|
229
|
-
});
|
|
230
230
|
|
|
231
231
|
await client.acquireAccessToken({ pin: '123' });
|
|
232
232
|
nock(issuerMetadata.credential_endpoint as string)
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
233
|
+
.post('/')
|
|
234
|
+
.reply(200, async (_, body) =>
|
|
235
|
+
vcIssuer.issueCredential({
|
|
236
|
+
credentialRequest: { ...(body as CredentialRequestV1_0_13), credential_identifier: offered.vct },
|
|
237
|
+
credential: {
|
|
238
|
+
vct: 'Hello',
|
|
239
|
+
iss: 'example.com',
|
|
240
|
+
iat: 123,
|
|
241
|
+
// Defines what can be disclosed (optional)
|
|
242
|
+
__disclosureFrame: {
|
|
243
|
+
name: true,
|
|
244
|
+
},
|
|
244
245
|
},
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
);
|
|
246
|
+
newCNonce: 'new-c-nonce',
|
|
247
|
+
}),
|
|
248
|
+
);
|
|
249
249
|
|
|
250
250
|
const credentials = await client.acquireCredentials({
|
|
251
251
|
credentialIdentifier: offered.vct,
|
|
@@ -51,7 +51,7 @@ export interface IssuerMockData {
|
|
|
51
51
|
type?: string;
|
|
52
52
|
format: 'jwt_vc' | 'ldp_vc' | 'jwt_vc_json-ld' | string;
|
|
53
53
|
proof: {
|
|
54
|
-
proof_type: '
|
|
54
|
+
proof_type: 'JWT' | string;
|
|
55
55
|
jwt: string;
|
|
56
56
|
};
|
|
57
57
|
};
|
|
@@ -119,7 +119,7 @@ const mockData: VciMockDataStructure = {
|
|
|
119
119
|
type: 'OpenBadgeCredential',
|
|
120
120
|
format: 'jwt_vc',
|
|
121
121
|
proof: {
|
|
122
|
-
proof_type: '
|
|
122
|
+
proof_type: 'JWT',
|
|
123
123
|
jwt: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksiLCJraWQiOiJkaWQ6andrOmV5SmhiR2NpT2lKRlV6STFOa3NpTENKMWMyVWlPaUp6YVdjaUxDSnJkSGtpT2lKRlF5SXNJbU55ZGlJNkluTmxZM0F5TlRack1TSXNJbmdpT2lKclpuVmpTa0V0VEhKck9VWjBPRmx5TFVkMlQzSmpia3N3YjNkc2RqUlhNblUwU3pJeFNHZHZTVlIzSWl3aWVTSTZJalozY0ZCUE1rOUNRVXBTU0ZFMVRXdEtXVlJaV0dsQlJFUXdOMU5OTlV0amVXcDNYMkUzVUUxWmVGa2lmUSMwIn0.eyJhdWQiOiJodHRwczovL25naS1vaWRjNHZjaS10ZXN0LnNwcnVjZWlkLnh5eiIsImlhdCI6MTY4MTkxMTA2MC45NDIsImV4cCI6MTY4MTkxMTcyMC45NDIsImlzcyI6InNwaGVyZW9uOnNzaS13YWxsZXQiLCJqdGkiOiJhNjA4MzMxZi02ZmE0LTQ0ZjAtYWNkZWY5NmFjMjdmNmQ3MCJ9.NwF3_41gwnlIdd_6Uk9CczeQHzIQt6UcvTT5Cxv72j9S1vNwiY9annA2kLsjsTiR5-WMBdUhJCO7wYCtZ15mxw',
|
|
124
124
|
},
|
|
125
125
|
},
|
|
@@ -365,7 +365,7 @@ const mockData: VciMockDataStructure = {
|
|
|
365
365
|
types: ['OpenBadgeCredential'],
|
|
366
366
|
format: 'jwt_vc',
|
|
367
367
|
proof: {
|
|
368
|
-
proof_type: '
|
|
368
|
+
proof_type: 'JWT',
|
|
369
369
|
jwt: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksiLCJraWQiOiJkaWQ6andrOmV5SmhiR2NpT2lKRlV6STFOa3NpTENKMWMyVWlPaUp6YVdjaUxDSnJkSGtpT2lKRlF5SXNJbU55ZGlJNkluTmxZM0F5TlRack1TSXNJbmdpT2lKclpuVmpTa0V0VEhKck9VWjBPRmx5TFVkMlQzSmpia3N3YjNkc2RqUlhNblUwU3pJeFNHZHZTVlIzSWl3aWVTSTZJalozY0ZCUE1rOUNRVXBTU0ZFMVRXdEtXVlJaV0dsQlJFUXdOMU5OTlV0amVXcDNYMkUzVUUxWmVGa2lmUSMwIn0.eyJhdWQiOiJodHRwczovL2pmZi53YWx0LmlkL2lzc3Vlci1hcGkvZGVmYXVsdC9vaWRjLyIsImlhdCI6MTY4MTkxMTk0Mi4yMzgsImV4cCI6MTY4MTkxMjYwMi4yMzgsIm5vbmNlIjoiZjA2YTMxMDUtYTJlZC00NGZjLTk1NGItNGEyNTk3MDM0OTNiIiwiaXNzIjoic3BoZXJlb246c3NpLXdhbGxldCIsImp0aSI6IjA1OWM3ODA5LTlmOGYtNGE3ZS1hZDI4YTNhMTNhMGIzNmViIn0.RfiWyybxpe3nkx3b0yIsqDHQtvB1WwhDW4t0X-kijy2dsSfv2cYhSEmAzs1shg7OV4EW8fSzt_Te79xiVl6jCw',
|
|
370
370
|
},
|
|
371
371
|
},
|
|
@@ -483,7 +483,7 @@ const mockData: VciMockDataStructure = {
|
|
|
483
483
|
types: ['OpenBadgeCredential'],
|
|
484
484
|
format: 'jwt_vc',
|
|
485
485
|
proof: {
|
|
486
|
-
proof_type: '
|
|
486
|
+
proof_type: 'JWT',
|
|
487
487
|
jwt: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksiLCJraWQiOiJkaWQ6andrOmV5SmhiR2NpT2lKRlV6STFOa3NpTENKMWMyVWlPaUp6YVdjaUxDSnJkSGtpT2lKRlF5SXNJbU55ZGlJNkluTmxZM0F5TlRack1TSXNJbmdpT2lKclpuVmpTa0V0VEhKck9VWjBPRmx5TFVkMlQzSmpia3N3YjNkc2RqUlhNblUwU3pJeFNHZHZTVlIzSWl3aWVTSTZJalozY0ZCUE1rOUNRVXBTU0ZFMVRXdEtXVlJaV0dsQlJFUXdOMU5OTlV0amVXcDNYMkUzVUUxWmVGa2lmUSMwIn0.eyJhdWQiOiJodHRwczovL29pZGM0dmMudW5paXNzdWVyLmlvLyIsImlhdCI6MTY4MTkxMjgzNy40MTQsImV4cCI6MTY4MTkxMzQ5Ny40MTQsIm5vbmNlIjoiMzhkMzZmM2ItNzJlMy00ODg2LWI2MGMtMzZiNzcwZDBlNGVhIiwiaXNzIjoic3BoZXJlb246c3NpLXdhbGxldCIsImp0aSI6ImIzYWEyMmFkLWExZTItNDJjOC1iMGI4ZTdjNDgzZDg4M2U4In0.awwIJ0422HSdOsCIe8k7zjxqY6RVaHK2ItUFqbmVjqLXxWt-Mp7cXF84n9HGgC8fgGOKmjlgXdNLr_Jiio_e3g',
|
|
488
488
|
},
|
|
489
489
|
},
|
|
@@ -582,7 +582,7 @@ const mockData: VciMockDataStructure = {
|
|
|
582
582
|
type: 'OpenBadgeCredential',
|
|
583
583
|
format: 'ldp_vc',
|
|
584
584
|
proof: {
|
|
585
|
-
proof_type: '
|
|
585
|
+
proof_type: 'JWT',
|
|
586
586
|
jwt: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa3AxM3N6QUFMVFN0cDV1OGtMcnl5YW5vYWtrVWtFUGZXazdvOHY3dms0RW1KI3o2TWtwMTNzekFBTFRTdHA1dThrTHJ5eWFub2Fra1VrRVBmV2s3bzh2N3ZrNEVtSiJ9.eyJhdWQiOiJodHRwczovL2xhdW5jaHBhZC5tYXR0cmxhYnMuY29tIiwiaWF0IjoxNjgxOTE0NDgyLjUxOSwiZXhwIjoxNjgxOTE1MTQyLjUxOSwiaXNzIjoic3BoZXJlb246c3NpLXdhbGxldCIsImp0aSI6ImI5NDY1ZGE5LTY4OGYtNDdjNi04MjUwNDA0ZGNiOWI5Y2E5In0.uQ8ewOfIjy_1p_Gk6PjeEWccBJnjOca1pwbTWiCAFMQX9wlIsfeUdGtXUoHjH5_PQtpwytodx7WU456_CT9iBQ',
|
|
587
587
|
},
|
|
588
588
|
},
|
|
@@ -696,7 +696,7 @@ const mockData: VciMockDataStructure = {
|
|
|
696
696
|
type: 'OpenBadgeCredential',
|
|
697
697
|
format: 'ldp_vc',
|
|
698
698
|
proof: {
|
|
699
|
-
proof_type: '
|
|
699
|
+
proof_type: 'JWT',
|
|
700
700
|
jwt: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa3AxM3N6QUFMVFN0cDV1OGtMcnl5YW5vYWtrVWtFUGZXazdvOHY3dms0RW1KI3o2TWtwMTNzekFBTFRTdHA1dThrTHJ5eWFub2Fra1VrRVBmV2s3bzh2N3ZrNEVtSiJ9.eyJhdWQiOiJodHRwczovL29pZGM0dmMuZGl3YWxhLmlvIiwiaWF0IjoxNjgxOTE1MDk1LjIwMiwiZXhwIjoxNjgxOTE1NzU1LjIwMiwiaXNzIjoic3BoZXJlb246c3NpLXdhbGxldCIsImp0aSI6IjYxN2MwM2EzLTM3MTUtNGJlMy1hYjkxNzM4MTlmYzYxNTYzIn0.KA-cHjecaYp9FSaWHkz5cqtNyhBIVT_0I7cJnpHn03T4UWFvdhjhn8Hpe-BU247enFyWOWJ6v3NQZyZgle7xBA',
|
|
701
701
|
},
|
|
702
702
|
},
|
|
@@ -9,25 +9,28 @@ export const createJwtBearerClientAssertion = async (
|
|
|
9
9
|
version?: OpenId4VCIVersion;
|
|
10
10
|
},
|
|
11
11
|
): Promise<void> => {
|
|
12
|
-
const { asOpts } = opts;
|
|
12
|
+
const { asOpts, credentialIssuer } = opts;
|
|
13
13
|
if (asOpts?.clientOpts?.clientAssertionType === 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer') {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
const { kid, clientId = request.client_id, signCallbacks, alg } = asOpts.clientOpts;
|
|
15
|
+
if (!clientId) {
|
|
16
|
+
return Promise.reject(Error(`Not client_id supplied, but client-assertion jwt-bearer requested.`));
|
|
17
|
+
} else if (!kid) {
|
|
18
|
+
return Promise.reject(Error(`No kid supplied, but client-assertion jwt-bearer requested.`));
|
|
19
|
+
} else if (typeof signCallbacks !== 'function') {
|
|
20
|
+
return Promise.reject(Error(`No sign callback supplied, but client-assertion jwt-bearer requested.`));
|
|
21
|
+
} else if (!credentialIssuer) {
|
|
22
|
+
return Promise.reject(Error(`No credential issuer supplied, but client-assertion jwt-bearer requested.`));
|
|
20
23
|
}
|
|
21
24
|
const jwt: Jwt = {
|
|
22
25
|
header: {
|
|
23
26
|
typ: 'JWT',
|
|
24
|
-
kid:
|
|
25
|
-
alg:
|
|
27
|
+
kid: kid,
|
|
28
|
+
alg: alg ?? 'ES256',
|
|
26
29
|
},
|
|
27
30
|
payload: {
|
|
28
|
-
iss:
|
|
29
|
-
sub:
|
|
30
|
-
aud:
|
|
31
|
+
iss: clientId,
|
|
32
|
+
sub: clientId,
|
|
33
|
+
aud: credentialIssuer,
|
|
31
34
|
jti: v4(),
|
|
32
35
|
exp: Date.now() / 1000 + 60,
|
|
33
36
|
iat: Date.now() / 1000 - 60,
|
|
@@ -35,9 +38,9 @@ export const createJwtBearerClientAssertion = async (
|
|
|
35
38
|
};
|
|
36
39
|
const pop = await ProofOfPossessionBuilder.fromJwt({
|
|
37
40
|
jwt,
|
|
38
|
-
callbacks:
|
|
41
|
+
callbacks: signCallbacks,
|
|
39
42
|
version: opts.version ?? OpenId4VCIVersion.VER_1_0_13,
|
|
40
|
-
mode: '
|
|
43
|
+
mode: 'JWT',
|
|
41
44
|
}).build();
|
|
42
45
|
request.client_assertion_type = 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer';
|
|
43
46
|
request.client_assertion = pop.jwt;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/oid4vci-client",
|
|
3
|
-
"version": "0.12.1-next.
|
|
3
|
+
"version": "0.12.1-next.23+1ff4e40",
|
|
4
4
|
"description": "OpenID for Verifiable Credential Issuance (OpenID4VCI) client",
|
|
5
5
|
"source": "lib/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"build": "tsc"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@sphereon/oid4vci-common": "0.12.1-next.
|
|
18
|
+
"@sphereon/oid4vci-common": "0.12.1-next.23+1ff4e40",
|
|
19
19
|
"@sphereon/ssi-types": "0.25.1-unstable.87",
|
|
20
20
|
"cross-fetch": "^3.1.8",
|
|
21
21
|
"debug": "^4.3.4"
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"OIDC4VCI",
|
|
70
70
|
"OID4VCI"
|
|
71
71
|
],
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "1ff4e40cefb183072951e3ede3f8b3a5842d645a"
|
|
73
73
|
}
|