@sphereon/oid4vci-client 0.15.1 → 0.15.2-next.7
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 +1 -0
- package/dist/AccessTokenClient.js.map +1 -1
- package/dist/AuthorizationCodeClient.d.ts.map +1 -1
- package/dist/AuthorizationCodeClient.js +11 -14
- package/dist/AuthorizationCodeClient.js.map +1 -1
- package/lib/AccessTokenClient.ts +1 -0
- package/lib/AuthorizationCodeClient.ts +11 -12
- package/lib/__tests__/OpenID4VCIClient.spec.ts +2 -23
- package/lib/__tests__/OpenID4VCIClientV1_0_13.spec.ts +2 -23
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessTokenClient.d.ts","sourceRoot":"","sources":["../lib/AccessTokenClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EAEnB,uBAAuB,EAGvB,gBAAgB,EAIhB,UAAU,EAEV,cAAc,EAKd,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAOlC,qBAAa,iBAAiB;IACf,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAmC9F,8BAA8B,CAAC,EAC1C,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAU,GACX,EAAE;QACD,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,WAAW,CAAC,EAAE,oBAAoB,CAAC;QACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,MAAM,CAAC,EAAE,uBAAuB,CAAC;QACjC,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAgBnC,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"AccessTokenClient.d.ts","sourceRoot":"","sources":["../lib/AccessTokenClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EAEnB,uBAAuB,EAGvB,gBAAgB,EAIhB,UAAU,EAEV,cAAc,EAKd,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAOlC,qBAAa,iBAAiB;IACf,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAmC9F,8BAA8B,CAAC,EAC1C,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAU,GACX,EAAE;QACD,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,WAAW,CAAC,EAAE,oBAAoB,CAAC;QACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,MAAM,CAAC,EAAE,uBAAuB,CAAC;QACjC,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAgBnC,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuChG,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,+BAA+B;IAOvC,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,QAAQ;YAcF,YAAY;WAIZ,iBAAiB,CAAC,EAC9B,MAAM,EACN,UAAU,EACV,QAAQ,GACT,EAAE;QACD,MAAM,CAAC,EAAE,uBAAuB,CAAC;QACjC,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KAC7B,GAAG,MAAM;IAuBV,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAYnC,OAAO,CAAC,qBAAqB;CAI9B"}
|
|
@@ -80,6 +80,7 @@ class AccessTokenClient {
|
|
|
80
80
|
if (credentialOfferRequest === null || credentialOfferRequest === void 0 ? void 0 : credentialOfferRequest.supportedFlows.includes(oid4vci_common_1.AuthzFlowType.PRE_AUTHORIZED_CODE_FLOW)) {
|
|
81
81
|
this.assertAlphanumericPin(opts.pinMetadata, pin);
|
|
82
82
|
request.user_pin = pin;
|
|
83
|
+
request.tx_code = pin;
|
|
83
84
|
request.grant_type = oid4vci_common_1.GrantTypes.PRE_AUTHORIZED_CODE;
|
|
84
85
|
// we actually know it is there because of the isPreAuthCode call
|
|
85
86
|
request[oid4vci_common_1.PRE_AUTH_CODE_LITERAL] = (_g = (_f = credentialOfferRequest === null || credentialOfferRequest === void 0 ? void 0 : credentialOfferRequest.credential_offer.grants) === null || _f === void 0 ? void 0 : _f[oid4vci_common_1.PRE_AUTH_GRANT_LITERAL]) === null || _g === void 0 ? void 0 : _g[oid4vci_common_1.PRE_AUTH_CODE_LITERAL];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessTokenClient.js","sourceRoot":"","sources":["../lib/AccessTokenClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AccessTokenClient.js","sourceRoot":"","sources":["../lib/AccessTokenClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationCodeClient.d.ts","sourceRoot":"","sources":["../lib/AuthorizationCodeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAIxB,uCAAuC,EAIvC,iCAAiC,EAEjC,6BAA6B,EAK7B,iBAAiB,EAEjB,QAAQ,EAER,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAOlC,wBAAsB,iCAAiC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,iBAqCrI;AAeD,eAAO,MAAM,6BAA6B,4HAQvC;IACD,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,eAAe,CAAC,EAAE,iCAAiC,CAAC;IACpD,gCAAgC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,KAAG,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"AuthorizationCodeClient.d.ts","sourceRoot":"","sources":["../lib/AuthorizationCodeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EAIxB,uCAAuC,EAIvC,iCAAiC,EAEjC,6BAA6B,EAK7B,iBAAiB,EAEjB,QAAQ,EAER,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAOlC,wBAAsB,iCAAiC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,iBAqCrI;AAeD,eAAO,MAAM,6BAA6B,4HAQvC;IACD,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,eAAe,CAAC,EAAE,iCAAiC,CAAC;IACpD,gCAAgC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,KAAG,OAAO,CAAC,MAAM,CAuIjB,CAAC"}
|
|
@@ -71,7 +71,7 @@ function filterSupportedCredentials(credentialOffer, credentialsSupported) {
|
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
const createAuthorizationRequestUrl = (_a) => __awaiter(void 0, [_a], void 0, function* ({ pkce, endpointMetadata, authorizationRequest, credentialOffer, credentialConfigurationSupported, clientId, version, }) {
|
|
74
|
-
var _b, _c, _d, _e
|
|
74
|
+
var _b, _c, _d, _e;
|
|
75
75
|
function removeDisplayAndValueTypes(obj) {
|
|
76
76
|
const newObj = Object.assign({}, obj);
|
|
77
77
|
for (const prop in newObj) {
|
|
@@ -86,13 +86,15 @@ const createAuthorizationRequestUrl = (_a) => __awaiter(void 0, [_a], void 0, fu
|
|
|
86
86
|
}
|
|
87
87
|
const { redirectUri, requestObjectOpts = { requestObjectMode: oid4vci_common_1.CreateRequestObjectMode.NONE } } = authorizationRequest;
|
|
88
88
|
const client_id = clientId !== null && clientId !== void 0 ? clientId : authorizationRequest.clientId;
|
|
89
|
-
|
|
90
|
-
const
|
|
89
|
+
// Authorization server metadata takes precedence
|
|
90
|
+
const authorizationMetadata = (_b = endpointMetadata.authorizationServerMetadata) !== null && _b !== void 0 ? _b : endpointMetadata.credentialIssuerMetadata;
|
|
91
|
+
let { authorizationDetails } = authorizationRequest;
|
|
92
|
+
const parMode = (authorizationMetadata === null || authorizationMetadata === void 0 ? void 0 : authorizationMetadata.require_pushed_authorization_requests)
|
|
91
93
|
? oid4vci_common_1.PARMode.REQUIRE
|
|
92
|
-
: (_c = authorizationRequest.parMode) !== null && _c !== void 0 ? _c : (client_id ? oid4vci_common_1.PARMode.AUTO : oid4vci_common_1.PARMode.NEVER);
|
|
94
|
+
: ((_c = authorizationRequest.parMode) !== null && _c !== void 0 ? _c : (client_id ? oid4vci_common_1.PARMode.AUTO : oid4vci_common_1.PARMode.NEVER));
|
|
93
95
|
// Scope and authorization_details can be used in the same authorization request
|
|
94
96
|
// https://datatracker.ietf.org/doc/html/draft-ietf-oauth-rar-23#name-relationship-to-scope-param
|
|
95
|
-
if (!scope && !authorizationDetails) {
|
|
97
|
+
if (!authorizationRequest.scope && !authorizationDetails) {
|
|
96
98
|
if (!credentialOffer) {
|
|
97
99
|
throw Error('Please provide a scope or authorization_details if no credential offer is present');
|
|
98
100
|
}
|
|
@@ -133,15 +135,11 @@ const createAuthorizationRequestUrl = (_a) => __awaiter(void 0, [_a], void 0, fu
|
|
|
133
135
|
if (!(endpointMetadata === null || endpointMetadata === void 0 ? void 0 : endpointMetadata.authorization_endpoint)) {
|
|
134
136
|
throw Error('Server metadata does not contain authorization endpoint');
|
|
135
137
|
}
|
|
136
|
-
const parEndpoint =
|
|
137
|
-
// add 'openid' scope if not present
|
|
138
|
-
if (!(scope === null || scope === void 0 ? void 0 : scope.includes('openid'))) {
|
|
139
|
-
scope = ['openid', scope].filter((s) => !!s).join(' ');
|
|
140
|
-
}
|
|
138
|
+
const parEndpoint = authorizationMetadata === null || authorizationMetadata === void 0 ? void 0 : authorizationMetadata.pushed_authorization_request_endpoint;
|
|
141
139
|
let queryObj = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ response_type: oid4vci_common_1.ResponseType.AUTH_CODE }, (!pkce.disabled && {
|
|
142
|
-
code_challenge_method: (
|
|
140
|
+
code_challenge_method: (_e = pkce.codeChallengeMethod) !== null && _e !== void 0 ? _e : oid4vci_common_1.CodeChallengeMethod.S256,
|
|
143
141
|
code_challenge: pkce.codeChallenge,
|
|
144
|
-
})), { authorization_details: JSON.stringify(handleAuthorizationDetails(endpointMetadata, authorizationDetails)) }), (redirectUri && { redirect_uri: redirectUri })), (client_id && { client_id })), ((credentialOffer === null || credentialOffer === void 0 ? void 0 : credentialOffer.issuerState) && { issuer_state: credentialOffer.issuerState })), { scope });
|
|
142
|
+
})), { authorization_details: JSON.stringify(handleAuthorizationDetails(endpointMetadata, authorizationDetails)) }), (redirectUri && { redirect_uri: redirectUri })), (client_id && { client_id })), ((credentialOffer === null || credentialOffer === void 0 ? void 0 : credentialOffer.issuerState) && { issuer_state: credentialOffer.issuerState })), { scope: authorizationRequest.scope });
|
|
145
143
|
if (!parEndpoint && parMode === oid4vci_common_1.PARMode.REQUIRE) {
|
|
146
144
|
throw Error(`PAR mode is set to required by Authorization Server does not support PAR!`);
|
|
147
145
|
}
|
|
@@ -152,11 +150,10 @@ const createAuthorizationRequestUrl = (_a) => __awaiter(void 0, [_a], void 0, fu
|
|
|
152
150
|
uriTypeProperties: ['client_id', 'request_uri', 'redirect_uri', 'scope', 'authorization_details', 'issuer_state'],
|
|
153
151
|
}), { contentType: 'application/x-www-form-urlencoded', accept: 'application/json' });
|
|
154
152
|
if (parResponse.errorBody || !parResponse.successBody) {
|
|
155
|
-
console.log(JSON.stringify(parResponse.errorBody));
|
|
156
|
-
console.log('Falling back to regular request URI, since PAR failed');
|
|
157
153
|
if (parMode === oid4vci_common_1.PARMode.REQUIRE) {
|
|
158
154
|
throw Error(`PAR error: ${parResponse.origResponse.statusText}`);
|
|
159
155
|
}
|
|
156
|
+
debug('Falling back to regular request URI, since PAR failed', JSON.stringify(parResponse.errorBody));
|
|
160
157
|
}
|
|
161
158
|
else {
|
|
162
159
|
debug(`PAR response: ${JSON.stringify(parResponse.successBody, null, 2)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationCodeClient.js","sourceRoot":"","sources":["../lib/AuthorizationCodeClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AuthorizationCodeClient.js","sourceRoot":"","sources":["../lib/AuthorizationCodeClient.ts"],"names":[],"mappings":"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"}
|
package/lib/AccessTokenClient.ts
CHANGED
|
@@ -105,6 +105,7 @@ export class AccessTokenClient {
|
|
|
105
105
|
if (credentialOfferRequest?.supportedFlows.includes(AuthzFlowType.PRE_AUTHORIZED_CODE_FLOW)) {
|
|
106
106
|
this.assertAlphanumericPin(opts.pinMetadata, pin);
|
|
107
107
|
request.user_pin = pin;
|
|
108
|
+
request.tx_code = pin;
|
|
108
109
|
|
|
109
110
|
request.grant_type = GrantTypes.PRE_AUTHORIZED_CODE;
|
|
110
111
|
// we actually know it is there because of the isPreAuthCode call
|
|
@@ -113,13 +113,16 @@ export const createAuthorizationRequestUrl = async ({
|
|
|
113
113
|
const { redirectUri, requestObjectOpts = { requestObjectMode: CreateRequestObjectMode.NONE } } = authorizationRequest;
|
|
114
114
|
const client_id = clientId ?? authorizationRequest.clientId;
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
const
|
|
116
|
+
// Authorization server metadata takes precedence
|
|
117
|
+
const authorizationMetadata = endpointMetadata.authorizationServerMetadata ?? endpointMetadata.credentialIssuerMetadata
|
|
118
|
+
|
|
119
|
+
let { authorizationDetails } = authorizationRequest;
|
|
120
|
+
const parMode = authorizationMetadata?.require_pushed_authorization_requests
|
|
118
121
|
? PARMode.REQUIRE
|
|
119
|
-
: authorizationRequest.parMode ?? (client_id ? PARMode.AUTO : PARMode.NEVER);
|
|
122
|
+
: (authorizationRequest.parMode ?? (client_id ? PARMode.AUTO : PARMode.NEVER));
|
|
120
123
|
// Scope and authorization_details can be used in the same authorization request
|
|
121
124
|
// https://datatracker.ietf.org/doc/html/draft-ietf-oauth-rar-23#name-relationship-to-scope-param
|
|
122
|
-
if (!scope && !authorizationDetails) {
|
|
125
|
+
if (!authorizationRequest.scope && !authorizationDetails) {
|
|
123
126
|
if (!credentialOffer) {
|
|
124
127
|
throw Error('Please provide a scope or authorization_details if no credential offer is present');
|
|
125
128
|
}
|
|
@@ -177,12 +180,8 @@ export const createAuthorizationRequestUrl = async ({
|
|
|
177
180
|
if (!endpointMetadata?.authorization_endpoint) {
|
|
178
181
|
throw Error('Server metadata does not contain authorization endpoint');
|
|
179
182
|
}
|
|
180
|
-
const parEndpoint =
|
|
183
|
+
const parEndpoint = authorizationMetadata?.pushed_authorization_request_endpoint;
|
|
181
184
|
|
|
182
|
-
// add 'openid' scope if not present
|
|
183
|
-
if (!scope?.includes('openid')) {
|
|
184
|
-
scope = ['openid', scope].filter((s) => !!s).join(' ');
|
|
185
|
-
}
|
|
186
185
|
|
|
187
186
|
let queryObj: Record<string, any> | PushedAuthorizationResponse = {
|
|
188
187
|
response_type: ResponseType.AUTH_CODE,
|
|
@@ -194,7 +193,7 @@ export const createAuthorizationRequestUrl = async ({
|
|
|
194
193
|
...(redirectUri && { redirect_uri: redirectUri }),
|
|
195
194
|
...(client_id && { client_id }),
|
|
196
195
|
...(credentialOffer?.issuerState && { issuer_state: credentialOffer.issuerState }),
|
|
197
|
-
scope,
|
|
196
|
+
scope: authorizationRequest.scope,
|
|
198
197
|
};
|
|
199
198
|
|
|
200
199
|
if (!parEndpoint && parMode === PARMode.REQUIRE) {
|
|
@@ -210,11 +209,11 @@ export const createAuthorizationRequestUrl = async ({
|
|
|
210
209
|
{ contentType: 'application/x-www-form-urlencoded', accept: 'application/json' },
|
|
211
210
|
);
|
|
212
211
|
if (parResponse.errorBody || !parResponse.successBody) {
|
|
213
|
-
console.log(JSON.stringify(parResponse.errorBody));
|
|
214
|
-
console.log('Falling back to regular request URI, since PAR failed');
|
|
215
212
|
if (parMode === PARMode.REQUIRE) {
|
|
216
213
|
throw Error(`PAR error: ${parResponse.origResponse.statusText}`);
|
|
217
214
|
}
|
|
215
|
+
|
|
216
|
+
debug('Falling back to regular request URI, since PAR failed', JSON.stringify(parResponse.errorBody));
|
|
218
217
|
} else {
|
|
219
218
|
debug(`PAR response: ${JSON.stringify(parResponse.successBody, null, 2)}`);
|
|
220
219
|
queryObj = { /*response_type: ResponseType.AUTH_CODE,*/ client_id, request_uri: parResponse.successBody.request_uri };
|
|
@@ -59,27 +59,6 @@ describe('OpenID4VCIClient should', () => {
|
|
|
59
59
|
}),
|
|
60
60
|
).rejects.toThrow(Error('Server metadata does not contain authorization endpoint'));
|
|
61
61
|
});
|
|
62
|
-
it("injects 'openid' as the first scope if not provided", async () => {
|
|
63
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
64
|
-
// @ts-ignore
|
|
65
|
-
client._state.endpointMetadata?.credentialIssuerMetadata.authorization_endpoint = `${MOCK_URL}v1/auth/authorize`;
|
|
66
|
-
|
|
67
|
-
const url = await client.createAuthorizationRequestUrl({
|
|
68
|
-
pkce: {
|
|
69
|
-
codeChallengeMethod: CodeChallengeMethod.S256,
|
|
70
|
-
codeChallenge: 'mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs',
|
|
71
|
-
},
|
|
72
|
-
authorizationRequest: {
|
|
73
|
-
scope: 'TestCredential',
|
|
74
|
-
redirectUri: 'http://localhost:8881/cb',
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
const urlSearchParams = new URLSearchParams(url.split('?')[1]);
|
|
79
|
-
const scope = urlSearchParams.get('scope')?.split(' ');
|
|
80
|
-
|
|
81
|
-
expect(scope?.[0]).toBe('openid');
|
|
82
|
-
});
|
|
83
62
|
it('throw an error if no scope and no authorization_details is provided', async () => {
|
|
84
63
|
nock(MOCK_URL).get(/.*/).reply(200, {});
|
|
85
64
|
nock(MOCK_URL).get(WellKnownEndpoints.OAUTH_AS).reply(200, {});
|
|
@@ -149,7 +128,7 @@ describe('OpenID4VCIClient should', () => {
|
|
|
149
128
|
},
|
|
150
129
|
}),
|
|
151
130
|
).resolves.toEqual(
|
|
152
|
-
'https://server.example.com/v1/auth/authorize?response_type=code&code_challenge_method=S256&code_challenge=mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs&authorization_details=%5B%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22ldp_vc%22%2C%22credential_definition%22%3A%7B%22%40context%22%3A%5B%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fv1%22%2C%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fexamples%2Fv1%22%5D%2C%22types%22%3A%5B%22VerifiableCredential%22%2C%22UniversityDegreeCredential%22%5D%7D%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D%2C%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22mso_mdoc%22%2C%22doctype%22%3A%22org%2Eiso%2E18013%2E5%2E1%2EmDL%22%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D%5D&redirect_uri=http%3A%2F%2Flocalhost%3A8881%2Fcb&client_id=test-client
|
|
131
|
+
'https://server.example.com/v1/auth/authorize?response_type=code&code_challenge_method=S256&code_challenge=mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs&authorization_details=%5B%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22ldp_vc%22%2C%22credential_definition%22%3A%7B%22%40context%22%3A%5B%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fv1%22%2C%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fexamples%2Fv1%22%5D%2C%22types%22%3A%5B%22VerifiableCredential%22%2C%22UniversityDegreeCredential%22%5D%7D%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D%2C%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22mso_mdoc%22%2C%22doctype%22%3A%22org%2Eiso%2E18013%2E5%2E1%2EmDL%22%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D%5D&redirect_uri=http%3A%2F%2Flocalhost%3A8881%2Fcb&client_id=test-client',
|
|
153
132
|
);
|
|
154
133
|
});
|
|
155
134
|
it('create an authorization request url with authorization_details object property', async () => {
|
|
@@ -176,7 +155,7 @@ describe('OpenID4VCIClient should', () => {
|
|
|
176
155
|
},
|
|
177
156
|
}),
|
|
178
157
|
).resolves.toEqual(
|
|
179
|
-
'https://server.example.com/v1/auth/authorize?response_type=code&code_challenge_method=S256&code_challenge=mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs&authorization_details=%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22ldp_vc%22%2C%22credential_definition%22%3A%7B%22%40context%22%3A%5B%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fv1%22%2C%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fexamples%2Fv1%22%5D%2C%22types%22%3A%5B%22VerifiableCredential%22%2C%22UniversityDegreeCredential%22%5D%7D%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D&redirect_uri=http%3A%2F%2Flocalhost%3A8881%2Fcb&client_id=test-client
|
|
158
|
+
'https://server.example.com/v1/auth/authorize?response_type=code&code_challenge_method=S256&code_challenge=mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs&authorization_details=%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22ldp_vc%22%2C%22credential_definition%22%3A%7B%22%40context%22%3A%5B%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fv1%22%2C%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fexamples%2Fv1%22%5D%2C%22types%22%3A%5B%22VerifiableCredential%22%2C%22UniversityDegreeCredential%22%5D%7D%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D&redirect_uri=http%3A%2F%2Flocalhost%3A8881%2Fcb&client_id=test-client',
|
|
180
159
|
);
|
|
181
160
|
});
|
|
182
161
|
|
|
@@ -51,27 +51,6 @@ describe('OpenID4VCIClientV1_0_13 should', () => {
|
|
|
51
51
|
}),
|
|
52
52
|
).rejects.toThrow(Error('Server metadata does not contain authorization endpoint'));
|
|
53
53
|
});
|
|
54
|
-
it("injects 'openid' as the first scope if not provided", async () => {
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
56
|
-
// @ts-ignore
|
|
57
|
-
client._state.endpointMetadata?.credentialIssuerMetadata.authorization_endpoint = `${MOCK_URL}v1/auth/authorize`;
|
|
58
|
-
|
|
59
|
-
const url = await client.createAuthorizationRequestUrl({
|
|
60
|
-
pkce: {
|
|
61
|
-
codeChallengeMethod: CodeChallengeMethod.S256,
|
|
62
|
-
codeChallenge: 'mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs',
|
|
63
|
-
},
|
|
64
|
-
authorizationRequest: {
|
|
65
|
-
scope: 'TestCredential',
|
|
66
|
-
redirectUri: 'http://localhost:8881/cb',
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
const urlSearchParams = new URLSearchParams(url.split('?')[1]);
|
|
71
|
-
const scope = urlSearchParams.get('scope')?.split(' ');
|
|
72
|
-
|
|
73
|
-
expect(scope?.[0]).toBe('openid');
|
|
74
|
-
});
|
|
75
54
|
it('throw an error if no scope and no authorization_details is provided', async () => {
|
|
76
55
|
nock(MOCK_URL).get(/.*/).reply(200, {});
|
|
77
56
|
nock(MOCK_URL).get(WellKnownEndpoints.OAUTH_AS).reply(200, {});
|
|
@@ -141,7 +120,7 @@ describe('OpenID4VCIClientV1_0_13 should', () => {
|
|
|
141
120
|
},
|
|
142
121
|
}),
|
|
143
122
|
).resolves.toEqual(
|
|
144
|
-
'https://server.example.com/v1/auth/authorize?response_type=code&code_challenge_method=S256&code_challenge=mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs&authorization_details=%5B%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22ldp_vc%22%2C%22credential_definition%22%3A%7B%22%40context%22%3A%5B%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fv1%22%2C%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fexamples%2Fv1%22%5D%2C%22types%22%3A%5B%22VerifiableCredential%22%2C%22UniversityDegreeCredential%22%5D%7D%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D%2C%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22mso_mdoc%22%2C%22doctype%22%3A%22org%2Eiso%2E18013%2E5%2E1%2EmDL%22%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D%5D&redirect_uri=http%3A%2F%2Flocalhost%3A8881%2Fcb&client_id=test-client
|
|
123
|
+
'https://server.example.com/v1/auth/authorize?response_type=code&code_challenge_method=S256&code_challenge=mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs&authorization_details=%5B%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22ldp_vc%22%2C%22credential_definition%22%3A%7B%22%40context%22%3A%5B%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fv1%22%2C%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fexamples%2Fv1%22%5D%2C%22types%22%3A%5B%22VerifiableCredential%22%2C%22UniversityDegreeCredential%22%5D%7D%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D%2C%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22mso_mdoc%22%2C%22doctype%22%3A%22org%2Eiso%2E18013%2E5%2E1%2EmDL%22%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D%5D&redirect_uri=http%3A%2F%2Flocalhost%3A8881%2Fcb&client_id=test-client',
|
|
145
124
|
);
|
|
146
125
|
});
|
|
147
126
|
it('create an authorization request url with authorization_details object property', async () => {
|
|
@@ -168,7 +147,7 @@ describe('OpenID4VCIClientV1_0_13 should', () => {
|
|
|
168
147
|
},
|
|
169
148
|
}),
|
|
170
149
|
).resolves.toEqual(
|
|
171
|
-
'https://server.example.com/v1/auth/authorize?response_type=code&code_challenge_method=S256&code_challenge=mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs&authorization_details=%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22ldp_vc%22%2C%22credential_definition%22%3A%7B%22%40context%22%3A%5B%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fv1%22%2C%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fexamples%2Fv1%22%5D%2C%22types%22%3A%5B%22VerifiableCredential%22%2C%22UniversityDegreeCredential%22%5D%7D%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D&redirect_uri=http%3A%2F%2Flocalhost%3A8881%2Fcb&client_id=test-client
|
|
150
|
+
'https://server.example.com/v1/auth/authorize?response_type=code&code_challenge_method=S256&code_challenge=mE2kPHmIprOqtkaYmESWj35yz-PB5vzdiSu0tAZ8sqs&authorization_details=%7B%22type%22%3A%22openid_credential%22%2C%22format%22%3A%22ldp_vc%22%2C%22credential_definition%22%3A%7B%22%40context%22%3A%5B%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fv1%22%2C%22https%3A%2F%2Fwww%2Ew3%2Eorg%2F2018%2Fcredentials%2Fexamples%2Fv1%22%5D%2C%22types%22%3A%5B%22VerifiableCredential%22%2C%22UniversityDegreeCredential%22%5D%7D%2C%22locations%22%3A%5B%22https%3A%2F%2Fserver%2Eexample%2Ecom%22%5D%7D&redirect_uri=http%3A%2F%2Flocalhost%3A8881%2Fcb&client_id=test-client',
|
|
172
151
|
);
|
|
173
152
|
});
|
|
174
153
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/oid4vci-client",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.2-next.7+858a8ea",
|
|
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.15.
|
|
18
|
+
"@sphereon/oid4vci-common": "0.15.2-next.7+858a8ea",
|
|
19
19
|
"@sphereon/ssi-types": "0.28.0",
|
|
20
20
|
"cross-fetch": "^3.1.8",
|
|
21
21
|
"debug": "^4.3.5"
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"OIDC4VCI",
|
|
70
70
|
"OID4VCI"
|
|
71
71
|
],
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "858a8ead3fd5ce7fdc32f2825ac057ceda4053f9"
|
|
73
73
|
}
|