@sphereon/oid4vci-common 0.12.1-unstable.9 → 0.13.0
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/functions/FormatUtils.js +1 -1
- package/dist/functions/FormatUtils.js.map +1 -1
- package/dist/functions/IssuerMetadataUtils.d.ts +0 -9
- package/dist/functions/IssuerMetadataUtils.d.ts.map +1 -1
- package/dist/functions/IssuerMetadataUtils.js +2 -52
- package/dist/functions/IssuerMetadataUtils.js.map +1 -1
- package/dist/functions/ProofUtil.js +16 -17
- package/dist/functions/ProofUtil.js.map +1 -1
- package/dist/functions/TypeConversionUtils.d.ts +16 -0
- package/dist/functions/TypeConversionUtils.d.ts.map +1 -1
- package/dist/functions/TypeConversionUtils.js +89 -1
- package/dist/functions/TypeConversionUtils.js.map +1 -1
- package/dist/types/Authorization.types.d.ts +11 -2
- package/dist/types/Authorization.types.d.ts.map +1 -1
- package/dist/types/Authorization.types.js.map +1 -1
- package/dist/types/CredentialIssuance.types.d.ts +1 -1
- package/dist/types/Generic.types.d.ts +1 -1
- package/lib/functions/FormatUtils.ts +1 -1
- package/lib/functions/IssuerMetadataUtils.ts +1 -53
- package/lib/functions/ProofUtil.ts +8 -8
- package/lib/functions/TypeConversionUtils.ts +89 -0
- package/lib/types/Authorization.types.ts +12 -2
- package/lib/types/CredentialIssuance.types.ts +1 -1
- package/lib/types/Generic.types.ts +1 -1
- package/package.json +3 -3
|
@@ -19,7 +19,7 @@ function getUniformFormat(format) {
|
|
|
19
19
|
return format;
|
|
20
20
|
}
|
|
21
21
|
// Older formats
|
|
22
|
-
if (format === 'jwt_vc' || format === 'jwt') {
|
|
22
|
+
if (format.toLocaleLowerCase() === 'jwt_vc' || format.toLocaleLowerCase() === 'jwt') {
|
|
23
23
|
return 'jwt_vc';
|
|
24
24
|
}
|
|
25
25
|
if (format === 'ldp_vc' || format === 'ldp') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormatUtils.js","sourceRoot":"","sources":["../../lib/functions/FormatUtils.ts"],"names":[],"mappings":";;;AAEA,oCAAsE;AAEtE,SAAgB,QAAQ,CACtB,YAAe,EACf,MAAc;IAEd,OAAO,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;AACxC,CAAC;AALD,4BAKC;AAED,SAAgB,WAAW,CACzB,YAAe,EACf,MAAc;IAEd,OAAO,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;AACxC,CAAC;AALD,kCAKC;AAED,MAAM,eAAe,GAAG,CAAC,MAAc,EAAqC,EAAE;IAC5E,OAAO,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,SAAgB,gBAAgB,CAAC,MAA2D;IAC1F,uBAAuB;IACvB,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"FormatUtils.js","sourceRoot":"","sources":["../../lib/functions/FormatUtils.ts"],"names":[],"mappings":";;;AAEA,oCAAsE;AAEtE,SAAgB,QAAQ,CACtB,YAAe,EACf,MAAc;IAEd,OAAO,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;AACxC,CAAC;AALD,4BAKC;AAED,SAAgB,WAAW,CACzB,YAAe,EACf,MAAc;IAEd,OAAO,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;AACxC,CAAC;AALD,kCAKC;AAED,MAAM,eAAe,GAAG,CAAC,MAAc,EAAqC,EAAE;IAC5E,OAAO,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,SAAgB,gBAAgB,CAAC,MAA2D;IAC1F,uBAAuB;IACvB,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAM,CAAC,iBAAiB,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,iBAAiB,EAAE,KAAK,KAAK,EAAE,CAAC;QACpF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAfD,4CAeC;AAED,SAAgB,mBAAmB,CAAC,MAAc,EAAE,OAA0B;IAC5E,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAElF,IAAI,OAAO,KAAK,yBAAiB,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;YACpC,OAAO,QAAiB,CAAC;QAC3B,CAAC;aAAM,IAAI,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;YAC5E,OAAO,QAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAZD,kDAYC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CredentialDefinitionV1_0_13, CredentialOfferFormat, JsonLdIssuerCredentialDefinition } from '../index';
|
|
2
1
|
import { AuthorizationServerMetadata, CredentialConfigurationSupported, CredentialConfigurationSupportedV1_0_13, CredentialIssuerMetadata, CredentialSupportedTypeV1_0_08, CredentialSupportedV1_0_08, IssuerMetadata, MetadataDisplay, OID4VCICredentialFormat, OpenId4VCIVersion } from '../types';
|
|
3
2
|
export declare function getSupportedCredentials(opts?: {
|
|
4
3
|
issuerMetadata?: CredentialIssuerMetadata | IssuerMetadata;
|
|
@@ -13,9 +12,6 @@ export declare function getSupportedCredential(opts?: {
|
|
|
13
12
|
types?: string | string[];
|
|
14
13
|
format?: OID4VCICredentialFormat | string | (OID4VCICredentialFormat | string)[];
|
|
15
14
|
}): Record<string, CredentialConfigurationSupportedV1_0_13> | Array<CredentialConfigurationSupported>;
|
|
16
|
-
export declare function getTypesFromCredentialSupported(credentialSupported: CredentialConfigurationSupported, opts?: {
|
|
17
|
-
filterVerifiableCredential: boolean;
|
|
18
|
-
}): string[];
|
|
19
15
|
export declare function credentialsSupportedV8ToV13(supportedV8: CredentialSupportedTypeV1_0_08): Record<string, CredentialConfigurationSupported>;
|
|
20
16
|
export declare function credentialSupportedV8ToV13(key: string, supportedV8: CredentialSupportedV1_0_08): Record<string, CredentialConfigurationSupported>;
|
|
21
17
|
export declare function getIssuerDisplays(metadata: CredentialIssuerMetadata | IssuerMetadata, opts?: {
|
|
@@ -25,9 +21,4 @@ export declare function getIssuerDisplays(metadata: CredentialIssuerMetadata | I
|
|
|
25
21
|
* TODO check again when WAL-617 is done to replace how we get the issuer name.
|
|
26
22
|
*/
|
|
27
23
|
export declare function getIssuerName(url: string, credentialIssuerMetadata?: Partial<AuthorizationServerMetadata> & (CredentialIssuerMetadata | IssuerMetadata)): string;
|
|
28
|
-
/**
|
|
29
|
-
* The specs had many places where types could be expressed. This method ensures we get them in any way possible
|
|
30
|
-
* @param subject
|
|
31
|
-
*/
|
|
32
|
-
export declare function getTypesFromObject(subject: CredentialConfigurationSupported | CredentialOfferFormat | CredentialDefinitionV1_0_13 | JsonLdIssuerCredentialDefinition | string): string[] | undefined;
|
|
33
24
|
//# sourceMappingURL=IssuerMetadataUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IssuerMetadataUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IssuerMetadataUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,uCAAuC,EACvC,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE;IAC7C,cAAc,CAAC,EAAE,wBAAwB,GAAG,cAAc,CAAC;IAC3D,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,uBAAuB,GAAG,MAAM,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CAClF,GAAG,MAAM,CAAC,MAAM,EAAE,uCAAuC,CAAC,GAAG,KAAK,CAAC,gCAAgC,CAAC,CAqBpG;AAED,wBAAgB,mCAAmC,CAAC,cAAc,EAAE,wBAAwB,GAAG,cAAc,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAwBvI;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE;IAC5C,cAAc,CAAC,EAAE,wBAAwB,GAAG,cAAc,CAAC;IAC3D,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,uBAAuB,GAAG,MAAM,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CAClF,GAAG,MAAM,CAAC,MAAM,EAAE,uCAAuC,CAAC,GAAG,KAAK,CAAC,gCAAgC,CAAC,CA4EpG;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAQzI;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAiBjJ;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,EAAE,CAM1I;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,wBAAwB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,wBAAwB,GAAG,cAAc,CAAC,GAC5G,MAAM,CAUR"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getIssuerName = exports.getIssuerDisplays = exports.credentialSupportedV8ToV13 = exports.credentialsSupportedV8ToV13 = exports.getSupportedCredential = exports.determineVersionsFromIssuerMetadata = exports.getSupportedCredentials = void 0;
|
|
4
4
|
const index_1 = require("../index");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
6
|
function getSupportedCredentials(opts) {
|
|
@@ -85,7 +85,7 @@ function getSupportedCredential(opts) {
|
|
|
85
85
|
const normalizedFormats = Array.isArray(format) ? format : format ? [format] : [];
|
|
86
86
|
function filterMatchingConfig(config) {
|
|
87
87
|
let isTypeMatch = normalizedTypes.length === 0;
|
|
88
|
-
const types = getTypesFromObject(config);
|
|
88
|
+
const types = (0, index_1.getTypesFromObject)(config);
|
|
89
89
|
if (!isTypeMatch) {
|
|
90
90
|
if (normalizedTypes.length === 1 && config.id === normalizedTypes[0]) {
|
|
91
91
|
isTypeMatch = true;
|
|
@@ -128,29 +128,6 @@ function getSupportedCredential(opts) {
|
|
|
128
128
|
throw Error(`Either < v11 configurations or V13 configurations should have been filtered at this point`);
|
|
129
129
|
}
|
|
130
130
|
exports.getSupportedCredential = getSupportedCredential;
|
|
131
|
-
function getTypesFromCredentialSupported(credentialSupported, opts) {
|
|
132
|
-
var _a;
|
|
133
|
-
let types = [];
|
|
134
|
-
if (credentialSupported.format === 'jwt_vc_json' ||
|
|
135
|
-
credentialSupported.format === 'jwt_vc' ||
|
|
136
|
-
credentialSupported.format === 'jwt_vc_json-ld' ||
|
|
137
|
-
credentialSupported.format === 'ldp_vc') {
|
|
138
|
-
types = (_a = getTypesFromObject(credentialSupported)) !== null && _a !== void 0 ? _a : [];
|
|
139
|
-
}
|
|
140
|
-
else if (credentialSupported.format === 'vc+sd-jwt') {
|
|
141
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
142
|
-
// @ts-ignore
|
|
143
|
-
types = [credentialSupported.vct];
|
|
144
|
-
}
|
|
145
|
-
if (!types || types.length === 0) {
|
|
146
|
-
throw Error('Could not deduce types from credential supported');
|
|
147
|
-
}
|
|
148
|
-
if (opts === null || opts === void 0 ? void 0 : opts.filterVerifiableCredential) {
|
|
149
|
-
return types.filter((type) => type !== 'VerifiableCredential');
|
|
150
|
-
}
|
|
151
|
-
return types;
|
|
152
|
-
}
|
|
153
|
-
exports.getTypesFromCredentialSupported = getTypesFromCredentialSupported;
|
|
154
131
|
function credentialsSupportedV8ToV13(supportedV8) {
|
|
155
132
|
const credentialConfigsSupported = {};
|
|
156
133
|
Object.entries(supportedV8).flatMap((entry) => {
|
|
@@ -196,31 +173,4 @@ function getIssuerName(url, credentialIssuerMetadata) {
|
|
|
196
173
|
return url;
|
|
197
174
|
}
|
|
198
175
|
exports.getIssuerName = getIssuerName;
|
|
199
|
-
/**
|
|
200
|
-
* The specs had many places where types could be expressed. This method ensures we get them in any way possible
|
|
201
|
-
* @param subject
|
|
202
|
-
*/
|
|
203
|
-
function getTypesFromObject(subject) {
|
|
204
|
-
if (subject === undefined) {
|
|
205
|
-
return undefined;
|
|
206
|
-
}
|
|
207
|
-
else if (typeof subject === 'string') {
|
|
208
|
-
return [subject];
|
|
209
|
-
}
|
|
210
|
-
else if ('credential_definition' in subject && subject.credential_definition) {
|
|
211
|
-
return getTypesFromObject(subject.credential_definition);
|
|
212
|
-
}
|
|
213
|
-
else if ('types' in subject && subject.types) {
|
|
214
|
-
return Array.isArray(subject.types) ? subject.types : [subject.types];
|
|
215
|
-
}
|
|
216
|
-
else if ('type' in subject && subject.type) {
|
|
217
|
-
return Array.isArray(subject.type) ? subject.type : [subject.type];
|
|
218
|
-
}
|
|
219
|
-
else if ('vct' in subject && subject.vct) {
|
|
220
|
-
return [subject.vct];
|
|
221
|
-
}
|
|
222
|
-
index_1.VCI_LOG_COMMON.warning('Could not deduce credential types. Probably a failure down the line will happen!');
|
|
223
|
-
return undefined;
|
|
224
|
-
}
|
|
225
|
-
exports.getTypesFromObject = getTypesFromObject;
|
|
226
176
|
//# sourceMappingURL=IssuerMetadataUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IssuerMetadataUtils.js","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"IssuerMetadataUtils.js","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,8 @@ const createProofOfPossession = (popMode, callbacks, jwtProps, existingJwt) => _
|
|
|
40
40
|
debug(`no jwt signer callback or arguments supplied!`);
|
|
41
41
|
throw new Error(types_1.BAD_PARAMS);
|
|
42
42
|
}
|
|
43
|
-
const
|
|
44
|
-
const jwt = yield callbacks.signCallback(
|
|
43
|
+
const jwtPayload = createJWT(popMode, jwtProps, existingJwt);
|
|
44
|
+
const jwt = yield callbacks.signCallback(jwtPayload, jwtPayload.header.kid);
|
|
45
45
|
const proof = {
|
|
46
46
|
proof_type: 'jwt',
|
|
47
47
|
jwt,
|
|
@@ -50,7 +50,7 @@ const createProofOfPossession = (popMode, callbacks, jwtProps, existingJwt) => _
|
|
|
50
50
|
partiallyValidateJWS(jwt);
|
|
51
51
|
if (callbacks.verifyCallback) {
|
|
52
52
|
debug(`Calling supplied verify callback....`);
|
|
53
|
-
yield callbacks.verifyCallback({ jwt, kid:
|
|
53
|
+
yield callbacks.verifyCallback({ jwt, kid: jwtPayload.header.kid });
|
|
54
54
|
debug(`Supplied verify callback return success result`);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -99,26 +99,25 @@ const validateJWT = (jwt, opts) => __awaiter(void 0, void 0, void 0, function* (
|
|
|
99
99
|
});
|
|
100
100
|
exports.validateJWT = validateJWT;
|
|
101
101
|
const createJWT = (mode, jwtProps, existingJwt) => {
|
|
102
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
102
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
103
103
|
const aud = mode === 'pop'
|
|
104
104
|
? getJwtProperty('aud', true, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.issuer, (_a = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _a === void 0 ? void 0 : _a.aud)
|
|
105
105
|
: getJwtProperty('aud', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.aud, (_b = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _b === void 0 ? void 0 : _b.aud);
|
|
106
|
-
const iss =
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
const nonce = getJwtProperty('nonce', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.nonce, (_g = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _g === void 0 ? void 0 : _g.nonce); // Officially this is required, but some implementations don't have it
|
|
106
|
+
const iss = mode === 'pop'
|
|
107
|
+
? getJwtProperty('iss', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.clientId, (_c = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _c === void 0 ? void 0 : _c.iss)
|
|
108
|
+
: getJwtProperty('iss', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.issuer, (_d = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _d === void 0 ? void 0 : _d.iss);
|
|
109
|
+
const client_id = mode === 'JWT' ? getJwtProperty('client_id', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.clientId, (_e = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _e === void 0 ? void 0 : _e.client_id) : undefined;
|
|
110
|
+
const jti = getJwtProperty('jti', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.jti, (_f = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _f === void 0 ? void 0 : _f.jti);
|
|
111
|
+
const typ = getJwtProperty('typ', true, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.typ, (_g = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _g === void 0 ? void 0 : _g.typ, 'openid4vci-proof+jwt');
|
|
112
|
+
const nonce = getJwtProperty('nonce', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.nonce, (_h = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _h === void 0 ? void 0 : _h.nonce); // Officially this is required, but some implementations don't have it
|
|
114
113
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
115
|
-
const alg = getJwtProperty('alg', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.alg, (
|
|
116
|
-
const kid = getJwtProperty('kid', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.kid, (
|
|
117
|
-
const jwk = getJwtProperty('jwk', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.jwk, (
|
|
114
|
+
const alg = getJwtProperty('alg', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.alg, (_j = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _j === void 0 ? void 0 : _j.alg, 'ES256');
|
|
115
|
+
const kid = getJwtProperty('kid', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.kid, (_k = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _k === void 0 ? void 0 : _k.kid);
|
|
116
|
+
const jwk = getJwtProperty('jwk', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.jwk, (_l = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _l === void 0 ? void 0 : _l.jwk);
|
|
118
117
|
const x5c = getJwtProperty('x5c', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.x5c, existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header.x5c);
|
|
119
|
-
const jwt =
|
|
118
|
+
const jwt = Object.assign({}, existingJwt);
|
|
120
119
|
const now = +new Date();
|
|
121
|
-
const jwtPayload = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (aud && { aud })), { iat: (
|
|
120
|
+
const jwtPayload = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (aud && { aud })), { iat: (_o = (_m = jwt.payload) === null || _m === void 0 ? void 0 : _m.iat) !== null && _o !== void 0 ? _o : Math.round(now / 1000 - 60), exp: (_q = (_p = jwt.payload) === null || _p === void 0 ? void 0 : _p.exp) !== null && _q !== void 0 ? _q : Math.round(now / 1000 + 10 * 60), nonce }), (client_id && { client_id })), (iss && { iss })), (jti && { jti }));
|
|
122
121
|
const jwtHeader = Object.assign(Object.assign(Object.assign({ typ,
|
|
123
122
|
alg }, (kid && { kid })), (jwk && { jwk })), (x5c && { x5c }));
|
|
124
123
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProofUtil.js","sourceRoot":"","sources":["../../lib/functions/ProofUtil.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ProofUtil.js","sourceRoot":"","sources":["../../lib/functions/ProofUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
+
import { AuthorizationDetails, CredentialOfferPayload, UniformCredentialOfferPayload, UniformCredentialOfferRequest } from '../index';
|
|
2
|
+
import { CredentialConfigurationSupported, CredentialDefinitionV1_0_13, CredentialOfferFormat, JsonLdIssuerCredentialDefinition } from '../types';
|
|
1
3
|
export declare const getNumberOrUndefined: (input?: string) => number | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* The specs had many places where types could be expressed. This method ensures we get them in any way possible
|
|
6
|
+
* @param subject
|
|
7
|
+
*/
|
|
8
|
+
export declare function getTypesFromObject(subject: CredentialConfigurationSupported | CredentialOfferFormat | CredentialDefinitionV1_0_13 | JsonLdIssuerCredentialDefinition | string): string[] | undefined;
|
|
9
|
+
export declare function getTypesFromCredentialOffer(offer: UniformCredentialOfferRequest | CredentialOfferPayload | UniformCredentialOfferPayload, opts?: {
|
|
10
|
+
configIdAsType?: boolean;
|
|
11
|
+
}): Array<Array<string>> | undefined;
|
|
12
|
+
export declare function getTypesFromAuthorizationDetails(authDetails: AuthorizationDetails, opts?: {
|
|
13
|
+
configIdAsType?: boolean;
|
|
14
|
+
}): string[] | undefined;
|
|
15
|
+
export declare function getTypesFromCredentialSupported(credentialSupported: CredentialConfigurationSupported, opts?: {
|
|
16
|
+
filterVerifiableCredential: boolean;
|
|
17
|
+
}): string[];
|
|
2
18
|
//# sourceMappingURL=TypeConversionUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeConversionUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/TypeConversionUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,WAAY,MAAM,KAAG,MAAM,GAAG,SAE9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"TypeConversionUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/TypeConversionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,6BAA6B,EAAkB,MAAM,UAAU,CAAC;AACtJ,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAElJ,eAAO,MAAM,oBAAoB,WAAY,MAAM,KAAG,MAAM,GAAG,SAE9D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gCAAgC,GAAG,qBAAqB,GAAG,2BAA2B,GAAG,gCAAgC,GAAG,MAAM,GAC1I,MAAM,EAAE,GAAG,SAAS,CAgBtB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,6BAA6B,GAAG,sBAAsB,GAAG,6BAA6B,EAC7F,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAClC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAiBlC;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAW7I;AAED,wBAAgB,+BAA+B,CAC7C,mBAAmB,EAAE,gCAAgC,EACrD,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YAuB/C"}
|
|
@@ -1,8 +1,96 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNumberOrUndefined = void 0;
|
|
3
|
+
exports.getTypesFromCredentialSupported = exports.getTypesFromAuthorizationDetails = exports.getTypesFromCredentialOffer = exports.getTypesFromObject = exports.getNumberOrUndefined = void 0;
|
|
4
|
+
const index_1 = require("../index");
|
|
4
5
|
const getNumberOrUndefined = (input) => {
|
|
5
6
|
return input && !isNaN(+input) ? +input : undefined;
|
|
6
7
|
};
|
|
7
8
|
exports.getNumberOrUndefined = getNumberOrUndefined;
|
|
9
|
+
/**
|
|
10
|
+
* The specs had many places where types could be expressed. This method ensures we get them in any way possible
|
|
11
|
+
* @param subject
|
|
12
|
+
*/
|
|
13
|
+
function getTypesFromObject(subject) {
|
|
14
|
+
if (subject === undefined) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
else if (typeof subject === 'string') {
|
|
18
|
+
return [subject];
|
|
19
|
+
}
|
|
20
|
+
else if ('credential_definition' in subject && subject.credential_definition) {
|
|
21
|
+
return getTypesFromObject(subject.credential_definition);
|
|
22
|
+
}
|
|
23
|
+
else if ('types' in subject && subject.types) {
|
|
24
|
+
return Array.isArray(subject.types) ? subject.types : [subject.types];
|
|
25
|
+
}
|
|
26
|
+
else if ('type' in subject && subject.type) {
|
|
27
|
+
return Array.isArray(subject.type) ? subject.type : [subject.type];
|
|
28
|
+
}
|
|
29
|
+
else if ('vct' in subject && subject.vct) {
|
|
30
|
+
return [subject.vct];
|
|
31
|
+
}
|
|
32
|
+
index_1.VCI_LOG_COMMON.warning('Could not deduce credential types. Probably a failure down the line will happen!');
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
exports.getTypesFromObject = getTypesFromObject;
|
|
36
|
+
function getTypesFromCredentialOffer(offer, opts) {
|
|
37
|
+
const { configIdAsType = false } = Object.assign({}, opts);
|
|
38
|
+
if ('credentials' in offer && Array.isArray(offer.credentials)) {
|
|
39
|
+
return offer.credentials.map((cred) => getTypesFromObject(cred)).filter((cred) => cred !== undefined);
|
|
40
|
+
}
|
|
41
|
+
else if (configIdAsType && 'credential_configuration_ids' in offer && Array.isArray(offer.credential_configuration_ids)) {
|
|
42
|
+
return offer.credential_configuration_ids.map((id) => [id]);
|
|
43
|
+
}
|
|
44
|
+
else if ('credential_offer' in offer && offer.credential_offer) {
|
|
45
|
+
return getTypesFromCredentialOffer(offer.credential_offer, opts);
|
|
46
|
+
}
|
|
47
|
+
else if ('credential_type' in offer && offer.credential_type) {
|
|
48
|
+
if (typeof offer.credential_type === 'string') {
|
|
49
|
+
return [[offer.credential_type]];
|
|
50
|
+
}
|
|
51
|
+
else if (Array.isArray(offer.credential_type)) {
|
|
52
|
+
return [offer.credential_type];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
index_1.VCI_LOG_COMMON.warning('Could not deduce credential types from offer. Probably a failure down the line will happen!');
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
exports.getTypesFromCredentialOffer = getTypesFromCredentialOffer;
|
|
59
|
+
function getTypesFromAuthorizationDetails(authDetails, opts) {
|
|
60
|
+
const { configIdAsType = false } = Object.assign({}, opts);
|
|
61
|
+
if (typeof authDetails === 'string') {
|
|
62
|
+
return [authDetails];
|
|
63
|
+
}
|
|
64
|
+
else if ('types' in authDetails && Array.isArray(authDetails.types)) {
|
|
65
|
+
return authDetails.types;
|
|
66
|
+
}
|
|
67
|
+
else if (configIdAsType && authDetails.credential_configuration_id) {
|
|
68
|
+
return [authDetails.credential_configuration_id];
|
|
69
|
+
}
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
exports.getTypesFromAuthorizationDetails = getTypesFromAuthorizationDetails;
|
|
73
|
+
function getTypesFromCredentialSupported(credentialSupported, opts) {
|
|
74
|
+
var _a;
|
|
75
|
+
let types = [];
|
|
76
|
+
if (credentialSupported.format === 'jwt_vc_json' ||
|
|
77
|
+
credentialSupported.format === 'jwt_vc' ||
|
|
78
|
+
credentialSupported.format === 'jwt_vc_json-ld' ||
|
|
79
|
+
credentialSupported.format === 'ldp_vc') {
|
|
80
|
+
types = (_a = getTypesFromObject(credentialSupported)) !== null && _a !== void 0 ? _a : [];
|
|
81
|
+
}
|
|
82
|
+
else if (credentialSupported.format === 'vc+sd-jwt') {
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
84
|
+
// @ts-ignore
|
|
85
|
+
types = [credentialSupported.vct];
|
|
86
|
+
}
|
|
87
|
+
if (!types || types.length === 0) {
|
|
88
|
+
throw Error('Could not deduce types from credential supported');
|
|
89
|
+
}
|
|
90
|
+
if (opts === null || opts === void 0 ? void 0 : opts.filterVerifiableCredential) {
|
|
91
|
+
return types.filter((type) => type !== 'VerifiableCredential');
|
|
92
|
+
}
|
|
93
|
+
return types;
|
|
94
|
+
}
|
|
95
|
+
exports.getTypesFromCredentialSupported = getTypesFromCredentialSupported;
|
|
8
96
|
//# sourceMappingURL=TypeConversionUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeConversionUtils.js","sourceRoot":"","sources":["../../lib/functions/TypeConversionUtils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"TypeConversionUtils.js","sourceRoot":"","sources":["../../lib/functions/TypeConversionUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CredentialOfferPayload, ProofOfPossessionCallbacks, UniformCredentialOffer } from './CredentialIssuance.types';
|
|
1
|
+
import { Alg, CredentialOfferPayload, ProofOfPossessionCallbacks, UniformCredentialOffer } from './CredentialIssuance.types';
|
|
2
2
|
import { ErrorResponse, IssuerCredentialSubject, JsonLdIssuerCredentialDefinition, OID4VCICredentialFormat, TxCode } from './Generic.types';
|
|
3
3
|
import { EndpointMetadata } from './ServerMetadata';
|
|
4
4
|
export interface CommonAuthorizationRequest {
|
|
@@ -143,8 +143,15 @@ export interface AuthorizationServerOpts {
|
|
|
143
143
|
allowInsecureEndpoints?: boolean;
|
|
144
144
|
as?: string;
|
|
145
145
|
tokenEndpoint?: string;
|
|
146
|
-
|
|
146
|
+
clientOpts?: AuthorizationServerClientOpts;
|
|
147
147
|
}
|
|
148
|
+
export type AuthorizationServerClientOpts = {
|
|
149
|
+
clientId: string;
|
|
150
|
+
clientAssertionType?: 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer';
|
|
151
|
+
kid?: string;
|
|
152
|
+
alg?: Alg;
|
|
153
|
+
signCallbacks?: ProofOfPossessionCallbacks<never>;
|
|
154
|
+
};
|
|
148
155
|
export interface IssuerOpts {
|
|
149
156
|
issuer: string;
|
|
150
157
|
tokenEndpoint?: string;
|
|
@@ -167,6 +174,7 @@ export interface AccessTokenRequestOpts {
|
|
|
167
174
|
redirectUri?: string;
|
|
168
175
|
pin?: string;
|
|
169
176
|
pinMetadata?: TxCodeAndPinRequired;
|
|
177
|
+
additionalParams?: Record<string, any>;
|
|
170
178
|
}
|
|
171
179
|
/**
|
|
172
180
|
* Determinse whether PAR should be used when supported
|
|
@@ -240,6 +248,7 @@ export interface AccessTokenRequest {
|
|
|
240
248
|
redirect_uri?: string;
|
|
241
249
|
scope?: string;
|
|
242
250
|
user_pin?: string;
|
|
251
|
+
[s: string]: unknown;
|
|
243
252
|
}
|
|
244
253
|
export interface OpenIDResponse<T> {
|
|
245
254
|
origResponse: Response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.types.d.ts","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"Authorization.types.d.ts","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC7H,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,gCAAgC,EAChC,uBAAuB,EAEvB,MAAM,EACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC;IACtC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,qBAAqB,EAAE,mBAAmB,CAAC;IAC3C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,CAAC;IACtE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B,CAAC,0BAA0B,GAAG,CAAC,6BAA6B,GAAG,uCAAuC,GAAG,2BAA2B,CAAC,CAAC,GACtI,MAAM,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,6BAA6B,GAAG,uCAAuC,GAAG,2BAA2B,CAAC;AAEzI,MAAM,WAAW,6BAA8B,SAAQ,0BAA0B;IAC/E,qBAAqB,CAAC,EAAE,6BAA6B,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,uCAAwC,SAAQ,0BAA0B;IACzF,qBAAqB,CAAC,EAAE,uCAAuC,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,2BAA4B,SAAQ,0BAA0B;IAC7E,qBAAqB,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACvD;AAYD,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAEnC;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CAItB;AAED,MAAM,WAAW,6BAA8B,SAAQ,0BAA0B;IAC/E,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;IAEjC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAE5C,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,uCAAwC,SAAQ,0BAA0B;IACzF,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAEpC;;;;;;OAMG;IACH,qBAAqB,EAAE,gCAAgC,CAAC;CACzD;AAED,MAAM,WAAW,2BAA4B,SAAQ,0BAA0B;IAC7E,MAAM,EAAE,WAAW,CAAC;IAEpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED,oBAAY,UAAU;IACpB,kBAAkB,uBAAuB;IACzC,mBAAmB,yDAAyD;IAC5E,QAAQ,aAAa;CACtB;AAED,oBAAY,QAAQ;IAClB,gBAAgB,sCAAsC;IACtD,KAAK,UAAU;CAChB;AAED,oBAAY,YAAY;IACtB,SAAS,SAAS;CACnB;AAED,oBAAY,mBAAmB;IAC7B,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,wDAAwD,CAAC;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,aAAa,CAAC,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,wCAAyC,SAAQ,sBAAsB;IACtF,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACxC;AAWD;;;;;;GAMG;AACH,oBAAY,OAAO;IACjB,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oBAAY,uBAAuB;IACjC,IAAI,IAAA;IACJ,cAAc,IAAA;IACd,WAAW,IAAA;CACZ;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,aAAa,CAAC,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,CAAC;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,YAAY,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,aAAa;IACvB,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;CACtD;AAGD,yBAAiB,aAAa,CAAC;IAC7B,SAAgB,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa,CAKtE;CACF;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.types.js","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":";;;AACA,mDAOyB;AA4JzB,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,0FAA4E,CAAA;IAC5E,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,kEAAsD,CAAA;IACtD,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,kCAAkB,CAAA;AACpB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;
|
|
1
|
+
{"version":3,"file":"Authorization.types.js","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":";;;AACA,mDAOyB;AA4JzB,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,0FAA4E,CAAA;IAC5E,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,kEAAsD,CAAA;IACtD,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,kCAAkB,CAAA;AACpB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AA0CD;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,2CAAO,CAAA;IACP,qCAAI,CAAA;IACJ,uCAAK,CAAA;AACP,CAAC,EAJW,OAAO,uBAAP,OAAO,QAIlB;AA2BD,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,qEAAI,CAAA;IACJ,yFAAc,CAAA;IACd,mFAAW,CAAA;AACb,CAAC,EAJW,uBAAuB,uCAAvB,uBAAuB,QAIlC;AA4DD,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oEAAmD,CAAA;IACnD,sEAAqD,CAAA;AACvD,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,2DAA2D;AAC3D,WAAiB,aAAa;IAC5B,SAAgB,OAAO,CAAC,OAA+B;QACrD,IAAI,qCAAqB,IAAI,OAAO,EAAE,CAAC;YACrC,OAAO,aAAa,CAAC,wBAAwB,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC,uBAAuB,CAAC;IAC/C,CAAC;IALe,qBAAO,UAKtB,CAAA;AACH,CAAC,EAPgB,aAAa,6BAAb,aAAa,QAO7B"}
|
|
@@ -125,7 +125,7 @@ export declare enum Alg {
|
|
|
125
125
|
RS384 = "RS384",
|
|
126
126
|
RS512 = "RS512"
|
|
127
127
|
}
|
|
128
|
-
export type Typ = '
|
|
128
|
+
export type Typ = 'JWT' | 'openid4vci-proof+jwt';
|
|
129
129
|
export interface JoseHeaderParameters {
|
|
130
130
|
kid?: string;
|
|
131
131
|
x5t?: string;
|
|
@@ -8,7 +8,7 @@ import { CredentialRequestV1_0_11, EndpointMetadataResultV1_0_11 } from './v1_0_
|
|
|
8
8
|
import { CredentialConfigurationSupportedV1_0_13, CredentialRequestV1_0_13, EndpointMetadataResultV1_0_13, IssuerMetadataV1_0_13 } from './v1_0_13.types';
|
|
9
9
|
export type InputCharSet = 'numeric' | 'text';
|
|
10
10
|
export type KeyProofType = 'jwt' | 'cwt' | 'ldp_vp';
|
|
11
|
-
export type PoPMode = 'pop' | '
|
|
11
|
+
export type PoPMode = 'pop' | 'JWT';
|
|
12
12
|
/**
|
|
13
13
|
* Important Note: please be aware that these Common interfaces are based on versions v1_0.11 and v1_0.09
|
|
14
14
|
*/
|
|
@@ -27,7 +27,7 @@ export function getUniformFormat(format: string | OID4VCICredentialFormat | Cred
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// Older formats
|
|
30
|
-
if (format === 'jwt_vc' || format === 'jwt') {
|
|
30
|
+
if (format.toLocaleLowerCase() === 'jwt_vc' || format.toLocaleLowerCase() === 'jwt') {
|
|
31
31
|
return 'jwt_vc';
|
|
32
32
|
}
|
|
33
33
|
if (format === 'ldp_vc' || format === 'ldp') {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getTypesFromObject, VCI_LOG_COMMON } from '../index';
|
|
2
2
|
import {
|
|
3
3
|
AuthorizationServerMetadata,
|
|
4
4
|
CredentialConfigurationSupported,
|
|
@@ -149,33 +149,6 @@ export function getSupportedCredential(opts?: {
|
|
|
149
149
|
throw Error(`Either < v11 configurations or V13 configurations should have been filtered at this point`);
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
export function getTypesFromCredentialSupported(
|
|
153
|
-
credentialSupported: CredentialConfigurationSupported,
|
|
154
|
-
opts?: { filterVerifiableCredential: boolean },
|
|
155
|
-
) {
|
|
156
|
-
let types: string[] = [];
|
|
157
|
-
if (
|
|
158
|
-
credentialSupported.format === 'jwt_vc_json' ||
|
|
159
|
-
credentialSupported.format === 'jwt_vc' ||
|
|
160
|
-
credentialSupported.format === 'jwt_vc_json-ld' ||
|
|
161
|
-
credentialSupported.format === 'ldp_vc'
|
|
162
|
-
) {
|
|
163
|
-
types = getTypesFromObject(credentialSupported) ?? [];
|
|
164
|
-
} else if (credentialSupported.format === 'vc+sd-jwt') {
|
|
165
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
166
|
-
// @ts-ignore
|
|
167
|
-
types = [credentialSupported.vct];
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
if (!types || types.length === 0) {
|
|
171
|
-
throw Error('Could not deduce types from credential supported');
|
|
172
|
-
}
|
|
173
|
-
if (opts?.filterVerifiableCredential) {
|
|
174
|
-
return types.filter((type) => type !== 'VerifiableCredential');
|
|
175
|
-
}
|
|
176
|
-
return types;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
152
|
export function credentialsSupportedV8ToV13(supportedV8: CredentialSupportedTypeV1_0_08): Record<string, CredentialConfigurationSupported> {
|
|
180
153
|
const credentialConfigsSupported: Record<string, CredentialConfigurationSupported> = {};
|
|
181
154
|
Object.entries(supportedV8).flatMap((entry) => {
|
|
@@ -230,28 +203,3 @@ export function getIssuerName(
|
|
|
230
203
|
}
|
|
231
204
|
return url;
|
|
232
205
|
}
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* The specs had many places where types could be expressed. This method ensures we get them in any way possible
|
|
236
|
-
* @param subject
|
|
237
|
-
*/
|
|
238
|
-
export function getTypesFromObject(
|
|
239
|
-
subject: CredentialConfigurationSupported | CredentialOfferFormat | CredentialDefinitionV1_0_13 | JsonLdIssuerCredentialDefinition | string,
|
|
240
|
-
): string[] | undefined {
|
|
241
|
-
if (subject === undefined) {
|
|
242
|
-
return undefined;
|
|
243
|
-
} else if (typeof subject === 'string') {
|
|
244
|
-
return [subject];
|
|
245
|
-
} else if ('credential_definition' in subject && subject.credential_definition) {
|
|
246
|
-
return getTypesFromObject(subject.credential_definition);
|
|
247
|
-
} else if ('types' in subject && subject.types) {
|
|
248
|
-
return Array.isArray(subject.types) ? subject.types : [subject.types];
|
|
249
|
-
} else if ('type' in subject && subject.type) {
|
|
250
|
-
return Array.isArray(subject.type) ? subject.type : [subject.type];
|
|
251
|
-
} else if ('vct' in subject && subject.vct) {
|
|
252
|
-
return [subject.vct];
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
VCI_LOG_COMMON.warning('Could not deduce credential types. Probably a failure down the line will happen!');
|
|
256
|
-
return undefined;
|
|
257
|
-
}
|
|
@@ -47,8 +47,8 @@ export const createProofOfPossession = async <DIDDoc>(
|
|
|
47
47
|
throw new Error(BAD_PARAMS);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
const
|
|
51
|
-
const jwt = await callbacks.signCallback(
|
|
50
|
+
const jwtPayload = createJWT(popMode, jwtProps, existingJwt);
|
|
51
|
+
const jwt = await callbacks.signCallback(jwtPayload, jwtPayload.header.kid);
|
|
52
52
|
const proof = {
|
|
53
53
|
proof_type: 'jwt',
|
|
54
54
|
jwt,
|
|
@@ -58,7 +58,7 @@ export const createProofOfPossession = async <DIDDoc>(
|
|
|
58
58
|
partiallyValidateJWS(jwt);
|
|
59
59
|
if (callbacks.verifyCallback) {
|
|
60
60
|
debug(`Calling supplied verify callback....`);
|
|
61
|
-
await callbacks.verifyCallback({ jwt, kid:
|
|
61
|
+
await callbacks.verifyCallback({ jwt, kid: jwtPayload.header.kid });
|
|
62
62
|
debug(`Supplied verify callback return success result`);
|
|
63
63
|
}
|
|
64
64
|
} catch {
|
|
@@ -130,10 +130,10 @@ const createJWT = (mode: PoPMode, jwtProps?: JwtProps, existingJwt?: Jwt): Jwt =
|
|
|
130
130
|
? getJwtProperty<string | string[]>('aud', true, jwtProps?.issuer, existingJwt?.payload?.aud)
|
|
131
131
|
: getJwtProperty<string | string[]>('aud', false, jwtProps?.aud, existingJwt?.payload?.aud);
|
|
132
132
|
const iss =
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const client_id = mode === '
|
|
133
|
+
mode === 'pop'
|
|
134
|
+
? getJwtProperty<string>('iss', false, jwtProps?.clientId, existingJwt?.payload?.iss)
|
|
135
|
+
: getJwtProperty<string>('iss', false, jwtProps?.issuer, existingJwt?.payload?.iss);
|
|
136
|
+
const client_id = mode === 'JWT' ? getJwtProperty<string>('client_id', false, jwtProps?.clientId, existingJwt?.payload?.client_id) : undefined;
|
|
137
137
|
const jti = getJwtProperty<string>('jti', false, jwtProps?.jti, existingJwt?.payload?.jti);
|
|
138
138
|
const typ = getJwtProperty<string>('typ', true, jwtProps?.typ, existingJwt?.header?.typ, 'openid4vci-proof+jwt');
|
|
139
139
|
const nonce = getJwtProperty<string>('nonce', false, jwtProps?.nonce, existingJwt?.payload?.nonce); // Officially this is required, but some implementations don't have it
|
|
@@ -142,7 +142,7 @@ const createJWT = (mode: PoPMode, jwtProps?: JwtProps, existingJwt?: Jwt): Jwt =
|
|
|
142
142
|
const kid = getJwtProperty<string>('kid', false, jwtProps?.kid, existingJwt?.header?.kid);
|
|
143
143
|
const jwk = getJwtProperty<BaseJWK>('jwk', false, jwtProps?.jwk, existingJwt?.header?.jwk);
|
|
144
144
|
const x5c = getJwtProperty<string[]>('x5c', false, jwtProps?.x5c, existingJwt?.header.x5c);
|
|
145
|
-
const jwt: Partial<Jwt> =
|
|
145
|
+
const jwt: Partial<Jwt> = { ...existingJwt };
|
|
146
146
|
const now = +new Date();
|
|
147
147
|
const jwtPayload: Partial<JWTPayload> = {
|
|
148
148
|
...(aud && { aud }),
|
|
@@ -1,3 +1,92 @@
|
|
|
1
|
+
import { AuthorizationDetails, CredentialOfferPayload, UniformCredentialOfferPayload, UniformCredentialOfferRequest, VCI_LOG_COMMON } from '../index';
|
|
2
|
+
import { CredentialConfigurationSupported, CredentialDefinitionV1_0_13, CredentialOfferFormat, JsonLdIssuerCredentialDefinition } from '../types';
|
|
3
|
+
|
|
1
4
|
export const getNumberOrUndefined = (input?: string): number | undefined => {
|
|
2
5
|
return input && !isNaN(+input) ? +input : undefined;
|
|
3
6
|
};
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The specs had many places where types could be expressed. This method ensures we get them in any way possible
|
|
10
|
+
* @param subject
|
|
11
|
+
*/
|
|
12
|
+
export function getTypesFromObject(
|
|
13
|
+
subject: CredentialConfigurationSupported | CredentialOfferFormat | CredentialDefinitionV1_0_13 | JsonLdIssuerCredentialDefinition | string,
|
|
14
|
+
): string[] | undefined {
|
|
15
|
+
if (subject === undefined) {
|
|
16
|
+
return undefined;
|
|
17
|
+
} else if (typeof subject === 'string') {
|
|
18
|
+
return [subject];
|
|
19
|
+
} else if ('credential_definition' in subject && subject.credential_definition) {
|
|
20
|
+
return getTypesFromObject(subject.credential_definition);
|
|
21
|
+
} else if ('types' in subject && subject.types) {
|
|
22
|
+
return Array.isArray(subject.types) ? subject.types : [subject.types];
|
|
23
|
+
} else if ('type' in subject && subject.type) {
|
|
24
|
+
return Array.isArray(subject.type) ? subject.type : [subject.type];
|
|
25
|
+
} else if ('vct' in subject && subject.vct) {
|
|
26
|
+
return [subject.vct];
|
|
27
|
+
}
|
|
28
|
+
VCI_LOG_COMMON.warning('Could not deduce credential types. Probably a failure down the line will happen!');
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function getTypesFromCredentialOffer(
|
|
33
|
+
offer: UniformCredentialOfferRequest | CredentialOfferPayload | UniformCredentialOfferPayload,
|
|
34
|
+
opts?: { configIdAsType?: boolean },
|
|
35
|
+
): Array<Array<string>> | undefined {
|
|
36
|
+
const { configIdAsType = false } = { ...opts };
|
|
37
|
+
if ('credentials' in offer && Array.isArray(offer.credentials)) {
|
|
38
|
+
return offer.credentials.map((cred) => getTypesFromObject(cred)).filter((cred): cred is string[] => cred !== undefined);
|
|
39
|
+
} else if (configIdAsType && 'credential_configuration_ids' in offer && Array.isArray(offer.credential_configuration_ids)) {
|
|
40
|
+
return offer.credential_configuration_ids.map((id) => [id]);
|
|
41
|
+
} else if ('credential_offer' in offer && offer.credential_offer) {
|
|
42
|
+
return getTypesFromCredentialOffer(offer.credential_offer, opts);
|
|
43
|
+
} else if ('credential_type' in offer && offer.credential_type) {
|
|
44
|
+
if (typeof offer.credential_type === 'string') {
|
|
45
|
+
return [[offer.credential_type]];
|
|
46
|
+
} else if (Array.isArray(offer.credential_type)) {
|
|
47
|
+
return [offer.credential_type];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
VCI_LOG_COMMON.warning('Could not deduce credential types from offer. Probably a failure down the line will happen!');
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function getTypesFromAuthorizationDetails(authDetails: AuthorizationDetails, opts?: { configIdAsType?: boolean }): string[] | undefined {
|
|
55
|
+
const { configIdAsType = false } = { ...opts };
|
|
56
|
+
if (typeof authDetails === 'string') {
|
|
57
|
+
return [authDetails];
|
|
58
|
+
} else if ('types' in authDetails && Array.isArray(authDetails.types)) {
|
|
59
|
+
return authDetails.types;
|
|
60
|
+
} else if (configIdAsType && authDetails.credential_configuration_id) {
|
|
61
|
+
return [authDetails.credential_configuration_id];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function getTypesFromCredentialSupported(
|
|
68
|
+
credentialSupported: CredentialConfigurationSupported,
|
|
69
|
+
opts?: { filterVerifiableCredential: boolean },
|
|
70
|
+
) {
|
|
71
|
+
let types: string[] = [];
|
|
72
|
+
if (
|
|
73
|
+
credentialSupported.format === 'jwt_vc_json' ||
|
|
74
|
+
credentialSupported.format === 'jwt_vc' ||
|
|
75
|
+
credentialSupported.format === 'jwt_vc_json-ld' ||
|
|
76
|
+
credentialSupported.format === 'ldp_vc'
|
|
77
|
+
) {
|
|
78
|
+
types = getTypesFromObject(credentialSupported) ?? [];
|
|
79
|
+
} else if (credentialSupported.format === 'vc+sd-jwt') {
|
|
80
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
81
|
+
// @ts-ignore
|
|
82
|
+
types = [credentialSupported.vct];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (!types || types.length === 0) {
|
|
86
|
+
throw Error('Could not deduce types from credential supported');
|
|
87
|
+
}
|
|
88
|
+
if (opts?.filterVerifiableCredential) {
|
|
89
|
+
return types.filter((type) => type !== 'VerifiableCredential');
|
|
90
|
+
}
|
|
91
|
+
return types;
|
|
92
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CredentialOfferPayload, ProofOfPossessionCallbacks, UniformCredentialOffer } from './CredentialIssuance.types';
|
|
1
|
+
import { Alg, CredentialOfferPayload, ProofOfPossessionCallbacks, UniformCredentialOffer } from './CredentialIssuance.types';
|
|
2
2
|
import {
|
|
3
3
|
ErrorResponse,
|
|
4
4
|
IssuerCredentialSubject,
|
|
@@ -186,9 +186,17 @@ export interface AuthorizationServerOpts {
|
|
|
186
186
|
allowInsecureEndpoints?: boolean;
|
|
187
187
|
as?: string; // If not provided the issuer hostname will be used!
|
|
188
188
|
tokenEndpoint?: string; // Allows to override the default '/token' endpoint
|
|
189
|
-
|
|
189
|
+
clientOpts?: AuthorizationServerClientOpts;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
+
export type AuthorizationServerClientOpts = {
|
|
193
|
+
clientId: string;
|
|
194
|
+
clientAssertionType?: 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer';
|
|
195
|
+
kid?: string;
|
|
196
|
+
alg?: Alg;
|
|
197
|
+
signCallbacks?: ProofOfPossessionCallbacks<never>;
|
|
198
|
+
};
|
|
199
|
+
|
|
192
200
|
export interface IssuerOpts {
|
|
193
201
|
issuer: string;
|
|
194
202
|
tokenEndpoint?: string;
|
|
@@ -211,6 +219,7 @@ export interface AccessTokenRequestOpts {
|
|
|
211
219
|
redirectUri?: string; // only required for authorization flow
|
|
212
220
|
pin?: string; // Pin-number. Only used when required
|
|
213
221
|
pinMetadata?: TxCodeAndPinRequired; // OPTIONAL. String value containing a Transaction Code. This value MUST be present if a tx_code object was present in the Credential Offer (including if the object was empty). This parameter MUST only be used if the grant_type is urn:ietf:params:oauth:grant-type:pre-authorized_code.
|
|
222
|
+
additionalParams?: Record<string, any>;
|
|
214
223
|
}
|
|
215
224
|
|
|
216
225
|
/*export interface AuthorizationRequestOpts {
|
|
@@ -304,6 +313,7 @@ export interface AccessTokenRequest {
|
|
|
304
313
|
redirect_uri?: string;
|
|
305
314
|
scope?: string;
|
|
306
315
|
user_pin?: string;
|
|
316
|
+
[s: string]: unknown;
|
|
307
317
|
}
|
|
308
318
|
|
|
309
319
|
export interface OpenIDResponse<T> {
|
|
@@ -158,7 +158,7 @@ export enum Alg {
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
export type Typ =
|
|
161
|
-
| '
|
|
161
|
+
| 'JWT'
|
|
162
162
|
// https://www.rfc-editor.org/rfc/rfc8725.pdf#name-use-explicit-typing
|
|
163
163
|
// https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#section-7.2.1-2.1.2.1.2.1.1
|
|
164
164
|
| 'openid4vci-proof+jwt';
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
export type InputCharSet = 'numeric' | 'text';
|
|
18
18
|
export type KeyProofType = 'jwt' | 'cwt' | 'ldp_vp';
|
|
19
19
|
|
|
20
|
-
export type PoPMode = 'pop' | '
|
|
20
|
+
export type PoPMode = 'pop' | 'JWT'; // Proof of posession, or regular JWT
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Important Note: please be aware that these Common interfaces are based on versions v1_0.11 and v1_0.09
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/oid4vci-common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "OpenID 4 Verifiable Credential Issuance Common Types",
|
|
5
5
|
"source": "lib/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"build:clean": "tsc --build --clean && tsc --build"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@sphereon/ssi-types": "0.
|
|
13
|
+
"@sphereon/ssi-types": "0.26.1-next.6",
|
|
14
14
|
"cross-fetch": "^3.1.8",
|
|
15
15
|
"jwt-decode": "^3.1.2",
|
|
16
16
|
"sha.js": "^2.4.11",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"publishConfig": {
|
|
50
50
|
"access": "public"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "4ae9812531dfb8bd45809127a215cdc5d02c6d4f"
|
|
53
53
|
}
|