@openid4vc/openid4vp 0.3.0-alpha-20250321202313 → 0.3.0-alpha-20250321205459
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.js +54 -57
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +59 -62
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -885,7 +885,7 @@ function parseOpenid4vpAuthorizationRequest(options) {
|
|
|
885
885
|
// src/authorization-request/resolve-authorization-request.ts
|
|
886
886
|
var import_oauth219 = require("@openid4vc/oauth2");
|
|
887
887
|
var import_utils14 = require("@openid4vc/utils");
|
|
888
|
-
var
|
|
888
|
+
var import_zod13 = __toESM(require("zod"));
|
|
889
889
|
|
|
890
890
|
// src/fetch-client-metadata.ts
|
|
891
891
|
var import_oauth213 = require("@openid4vc/oauth2");
|
|
@@ -982,22 +982,25 @@ function parseAuthorizationRequestVersion(request) {
|
|
|
982
982
|
// src/jar/jar-request-object/fetch-jar-request-object.ts
|
|
983
983
|
var import_oauth215 = require("@openid4vc/oauth2");
|
|
984
984
|
var import_utils12 = require("@openid4vc/utils");
|
|
985
|
-
var import_zod11 = require("zod");
|
|
986
985
|
async function fetchJarRequestObject(options) {
|
|
987
|
-
const { requestUri, clientIdentifierScheme, method, wallet, fetch } = options;
|
|
988
|
-
const fetcher = (0, import_utils12.createZodFetcher)(fetch);
|
|
986
|
+
const { requestUri, clientIdentifierScheme, method, wallet, fetch = import_utils12.defaultFetcher } = options;
|
|
989
987
|
let requestBody = wallet.metadata ? { wallet_metadata: wallet.metadata, wallet_nonce: wallet.nonce } : void 0;
|
|
990
988
|
if (requestBody?.wallet_metadata?.request_object_signing_alg_values_supported && clientIdentifierScheme === "redirect_uri") {
|
|
991
989
|
const { request_object_signing_alg_values_supported, ...rest } = requestBody.wallet_metadata;
|
|
992
990
|
requestBody = { ...requestBody, wallet_metadata: { ...rest } };
|
|
993
991
|
}
|
|
994
|
-
const
|
|
992
|
+
const response = await fetch(requestUri, {
|
|
995
993
|
method,
|
|
994
|
+
body: method === "POST" ? (0, import_utils12.objectToQueryParams)(wallet.metadata ?? {}) : void 0,
|
|
996
995
|
headers: {
|
|
997
|
-
Accept: `${import_utils12.ContentType.OAuthAuthorizationRequestJwt}, ${import_utils12.ContentType.Jwt};q=0.9`,
|
|
996
|
+
Accept: `${import_utils12.ContentType.OAuthAuthorizationRequestJwt}, ${import_utils12.ContentType.Jwt};q=0.9, text/plain`,
|
|
998
997
|
"Content-Type": import_utils12.ContentType.XWwwFormUrlencoded
|
|
999
|
-
}
|
|
1000
|
-
|
|
998
|
+
}
|
|
999
|
+
}).catch(() => {
|
|
1000
|
+
throw new import_oauth215.Oauth2ServerErrorResponseError({
|
|
1001
|
+
error_description: `Fetching request_object from request_uri '${requestUri}' failed`,
|
|
1002
|
+
error: import_oauth215.Oauth2ErrorCodes.InvalidRequestUri
|
|
1003
|
+
});
|
|
1001
1004
|
});
|
|
1002
1005
|
if (!response.ok) {
|
|
1003
1006
|
throw new import_oauth215.Oauth2ServerErrorResponseError({
|
|
@@ -1005,21 +1008,15 @@ async function fetchJarRequestObject(options) {
|
|
|
1005
1008
|
error: import_oauth215.Oauth2ErrorCodes.InvalidRequestUri
|
|
1006
1009
|
});
|
|
1007
1010
|
}
|
|
1008
|
-
|
|
1009
|
-
throw new import_oauth215.Oauth2ServerErrorResponseError({
|
|
1010
|
-
error_description: `Parsing request_object from request_uri '${requestUri}' failed.`,
|
|
1011
|
-
error: import_oauth215.Oauth2ErrorCodes.InvalidRequestObject
|
|
1012
|
-
});
|
|
1013
|
-
}
|
|
1014
|
-
return result.data;
|
|
1011
|
+
return await response.text();
|
|
1015
1012
|
}
|
|
1016
1013
|
|
|
1017
1014
|
// src/jar/jar-request-object/z-jar-request-object.ts
|
|
1018
1015
|
var import_oauth216 = require("@openid4vc/oauth2");
|
|
1019
|
-
var
|
|
1020
|
-
var zJarRequestObjectPayload =
|
|
1016
|
+
var import_zod11 = require("zod");
|
|
1017
|
+
var zJarRequestObjectPayload = import_zod11.z.object({
|
|
1021
1018
|
...import_oauth216.zJwtPayload.shape,
|
|
1022
|
-
client_id:
|
|
1019
|
+
client_id: import_zod11.z.string()
|
|
1023
1020
|
}).passthrough();
|
|
1024
1021
|
|
|
1025
1022
|
// src/jar/handle-jar-request/verify-jar-request.ts
|
|
@@ -1123,13 +1120,13 @@ var import_oauth218 = require("@openid4vc/oauth2");
|
|
|
1123
1120
|
var import_utils13 = require("@openid4vc/utils");
|
|
1124
1121
|
|
|
1125
1122
|
// src/transaction-data/z-transaction-data.ts
|
|
1126
|
-
var
|
|
1127
|
-
var zTransactionEntry =
|
|
1128
|
-
type:
|
|
1129
|
-
credential_ids:
|
|
1130
|
-
transaction_data_hashes_alg:
|
|
1123
|
+
var import_zod12 = require("zod");
|
|
1124
|
+
var zTransactionEntry = import_zod12.z.object({
|
|
1125
|
+
type: import_zod12.z.string(),
|
|
1126
|
+
credential_ids: import_zod12.z.array(import_zod12.z.string()).nonempty(),
|
|
1127
|
+
transaction_data_hashes_alg: import_zod12.z.array(import_zod12.z.string()).optional()
|
|
1131
1128
|
});
|
|
1132
|
-
var zTransactionData =
|
|
1129
|
+
var zTransactionData = import_zod12.z.array(zTransactionEntry);
|
|
1133
1130
|
|
|
1134
1131
|
// src/transaction-data/parse-transaction-data.ts
|
|
1135
1132
|
function parseTransactionData(options) {
|
|
@@ -1154,7 +1151,7 @@ async function resolveOpenid4vpAuthorizationRequest(options) {
|
|
|
1154
1151
|
const { wallet, callbacks, origin, disableOriginValidation } = options;
|
|
1155
1152
|
let authorizationRequestPayload;
|
|
1156
1153
|
const parsed = (0, import_utils14.parseWithErrorHandling)(
|
|
1157
|
-
|
|
1154
|
+
import_zod13.default.union([zOpenid4vpAuthorizationRequestDcApi, zOpenid4vpAuthorizationRequest, zJarAuthorizationRequest]),
|
|
1158
1155
|
options.authorizationRequestPayload,
|
|
1159
1156
|
"Invalid authorization request. Could not parse openid4vp authorization request as openid4vp or jar auth request."
|
|
1160
1157
|
);
|
|
@@ -1162,7 +1159,7 @@ async function resolveOpenid4vpAuthorizationRequest(options) {
|
|
|
1162
1159
|
if (isJarAuthorizationRequest(parsed)) {
|
|
1163
1160
|
jar = await verifyJarRequest({ jarRequestParams: parsed, callbacks, wallet });
|
|
1164
1161
|
const parsedJarAuthorizationRequestPayload = (0, import_utils14.parseWithErrorHandling)(
|
|
1165
|
-
|
|
1162
|
+
import_zod13.default.union([zOpenid4vpAuthorizationRequestDcApi, zOpenid4vpAuthorizationRequest]),
|
|
1166
1163
|
jar.authorizationRequestPayload,
|
|
1167
1164
|
"Invalid authorization request. Could not parse jar request payload as openid4vp auth request."
|
|
1168
1165
|
);
|
|
@@ -1276,7 +1273,7 @@ async function createJarmAuthorizationResponse(options) {
|
|
|
1276
1273
|
}
|
|
1277
1274
|
|
|
1278
1275
|
// src/jarm/jarm-response-mode.ts
|
|
1279
|
-
var
|
|
1276
|
+
var import_zod14 = require("zod");
|
|
1280
1277
|
var jarmResponseMode = [
|
|
1281
1278
|
"jwt",
|
|
1282
1279
|
"query.jwt",
|
|
@@ -1285,7 +1282,7 @@ var jarmResponseMode = [
|
|
|
1285
1282
|
"direct_post.jwt",
|
|
1286
1283
|
"dc_api.jwt"
|
|
1287
1284
|
];
|
|
1288
|
-
var zJarmResponseMode =
|
|
1285
|
+
var zJarmResponseMode = import_zod14.z.enum(jarmResponseMode);
|
|
1289
1286
|
var isJarmResponseMode = (responseMode) => {
|
|
1290
1287
|
return jarmResponseMode.includes(responseMode);
|
|
1291
1288
|
};
|
|
@@ -1483,17 +1480,17 @@ var import_oauth225 = require("@openid4vc/oauth2");
|
|
|
1483
1480
|
var import_utils19 = require("@openid4vc/utils");
|
|
1484
1481
|
|
|
1485
1482
|
// src/vp-token/z-vp-token.ts
|
|
1486
|
-
var
|
|
1487
|
-
var zVpTokenPexEntry =
|
|
1483
|
+
var import_zod15 = require("zod");
|
|
1484
|
+
var zVpTokenPexEntry = import_zod15.z.union([import_zod15.z.string(), import_zod15.z.record(import_zod15.z.any())], {
|
|
1488
1485
|
message: "pex vp_token entry must be a string or object"
|
|
1489
1486
|
});
|
|
1490
|
-
var zVpTokenPex =
|
|
1491
|
-
[zVpTokenPexEntry,
|
|
1487
|
+
var zVpTokenPex = import_zod15.z.union(
|
|
1488
|
+
[zVpTokenPexEntry, import_zod15.z.array(zVpTokenPexEntry).nonempty("Must have at least entry in vp_token array")],
|
|
1492
1489
|
{
|
|
1493
1490
|
message: "pex vp_token must be a string, object or array of strings and objects"
|
|
1494
1491
|
}
|
|
1495
1492
|
);
|
|
1496
|
-
var zVpTokenDcql =
|
|
1493
|
+
var zVpTokenDcql = import_zod15.z.record(import_zod15.z.union([import_zod15.z.string(), import_zod15.z.record(import_zod15.z.any())]), {
|
|
1497
1494
|
message: "dcql vp_token must be an object with keys referencing the dcql credential query id, and values the encoded (string or object) presentation"
|
|
1498
1495
|
});
|
|
1499
1496
|
var zVpToken = zVpTokenDcql.or(zVpTokenPex);
|
|
@@ -1567,23 +1564,23 @@ var import_utils21 = require("@openid4vc/utils");
|
|
|
1567
1564
|
|
|
1568
1565
|
// src/authorization-response/z-authorization-response.ts
|
|
1569
1566
|
var import_utils20 = require("@openid4vc/utils");
|
|
1570
|
-
var
|
|
1567
|
+
var import_zod17 = require("zod");
|
|
1571
1568
|
|
|
1572
1569
|
// src/models/z-pex.ts
|
|
1573
|
-
var
|
|
1574
|
-
var zPexPresentationDefinition =
|
|
1575
|
-
var zPexPresentationSubmission =
|
|
1570
|
+
var import_zod16 = require("zod");
|
|
1571
|
+
var zPexPresentationDefinition = import_zod16.z.record(import_zod16.z.any());
|
|
1572
|
+
var zPexPresentationSubmission = import_zod16.z.record(import_zod16.z.any());
|
|
1576
1573
|
|
|
1577
1574
|
// src/authorization-response/z-authorization-response.ts
|
|
1578
|
-
var zOpenid4vpAuthorizationResponse =
|
|
1579
|
-
state:
|
|
1580
|
-
id_token:
|
|
1575
|
+
var zOpenid4vpAuthorizationResponse = import_zod17.z.object({
|
|
1576
|
+
state: import_zod17.z.string().optional(),
|
|
1577
|
+
id_token: import_zod17.z.string().optional(),
|
|
1581
1578
|
vp_token: zVpToken,
|
|
1582
1579
|
presentation_submission: zPexPresentationSubmission.or(import_utils20.zStringToJson).optional(),
|
|
1583
|
-
refresh_token:
|
|
1584
|
-
token_type:
|
|
1585
|
-
access_token:
|
|
1586
|
-
expires_in:
|
|
1580
|
+
refresh_token: import_zod17.z.string().optional(),
|
|
1581
|
+
token_type: import_zod17.z.string().optional(),
|
|
1582
|
+
access_token: import_zod17.z.string().optional(),
|
|
1583
|
+
expires_in: import_zod17.z.number().optional()
|
|
1587
1584
|
}).passthrough();
|
|
1588
1585
|
|
|
1589
1586
|
// src/authorization-response/parse-authorization-response-payload.ts
|
|
@@ -1598,11 +1595,11 @@ function parseOpenid4VpAuthorizationResponsePayload(payload) {
|
|
|
1598
1595
|
// src/authorization-response/parse-jarm-authorization-response.ts
|
|
1599
1596
|
var import_oauth226 = require("@openid4vc/oauth2");
|
|
1600
1597
|
var import_utils22 = require("@openid4vc/utils");
|
|
1601
|
-
var
|
|
1598
|
+
var import_zod18 = __toESM(require("zod"));
|
|
1602
1599
|
async function parseJarmAuthorizationResponse(options) {
|
|
1603
1600
|
const { jarmResponseJwt, callbacks, authorizationRequestPayload, expectedClientId } = options;
|
|
1604
1601
|
const jarmAuthorizationResponseJwt = (0, import_utils22.parseWithErrorHandling)(
|
|
1605
|
-
|
|
1602
|
+
import_zod18.default.union([import_oauth226.zCompactJwt, import_oauth226.zCompactJwe]),
|
|
1606
1603
|
jarmResponseJwt,
|
|
1607
1604
|
"Invalid jarm authorization response jwt."
|
|
1608
1605
|
);
|
|
@@ -1796,22 +1793,22 @@ var Openid4vpVerifier = class {
|
|
|
1796
1793
|
};
|
|
1797
1794
|
|
|
1798
1795
|
// src/models/z-credential-formats.ts
|
|
1799
|
-
var
|
|
1800
|
-
var zCredentialFormat =
|
|
1796
|
+
var import_zod19 = require("zod");
|
|
1797
|
+
var zCredentialFormat = import_zod19.z.enum(["jwt_vc_json", "ldp_vc", "ac_vc", "mso_mdoc", "dc+sd-jwt", "vc+sd-jwt"]);
|
|
1801
1798
|
|
|
1802
1799
|
// src/models/z-proof-formats.ts
|
|
1803
|
-
var
|
|
1804
|
-
var zProofFormat =
|
|
1800
|
+
var import_zod20 = require("zod");
|
|
1801
|
+
var zProofFormat = import_zod20.z.enum(["jwt_vp_json", "ldc_vp", "ac_vp", "dc+sd-jwt", "vc+sd-jwt", "mso_mdoc"]);
|
|
1805
1802
|
|
|
1806
1803
|
// src/models/z-wallet-metadata.ts
|
|
1807
|
-
var
|
|
1808
|
-
var zWalletMetadata =
|
|
1809
|
-
presentation_definition_uri_supported:
|
|
1804
|
+
var import_zod21 = require("zod");
|
|
1805
|
+
var zWalletMetadata = import_zod21.z.object({
|
|
1806
|
+
presentation_definition_uri_supported: import_zod21.z.optional(import_zod21.z.boolean()),
|
|
1810
1807
|
vp_formats_supported: zVpFormatsSupported,
|
|
1811
|
-
client_id_schemes_supported:
|
|
1812
|
-
request_object_signing_alg_values_supported:
|
|
1813
|
-
authorization_encryption_alg_values_supported:
|
|
1814
|
-
authorization_encryption_enc_values_supported:
|
|
1808
|
+
client_id_schemes_supported: import_zod21.z.optional(import_zod21.z.array(zClientIdScheme)),
|
|
1809
|
+
request_object_signing_alg_values_supported: import_zod21.z.optional(import_zod21.z.array(import_zod21.z.string())),
|
|
1810
|
+
authorization_encryption_alg_values_supported: import_zod21.z.optional(import_zod21.z.array(import_zod21.z.string())),
|
|
1811
|
+
authorization_encryption_enc_values_supported: import_zod21.z.optional(import_zod21.z.array(import_zod21.z.string()))
|
|
1815
1812
|
});
|
|
1816
1813
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1817
1814
|
0 && (module.exports = {
|