@sphereon/oid4vci-common 0.12.1-unstable.2 → 0.12.1-unstable.25
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 +2 -2
- 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 +2 -2
- package/dist/types/Generic.types.d.ts +2 -2
- package/dist/types/Generic.types.d.ts.map +1 -1
- package/lib/functions/FormatUtils.ts +1 -1
- package/lib/functions/IssuerMetadataUtils.ts +1 -53
- package/lib/functions/ProofUtil.ts +4 -4
- package/lib/functions/TypeConversionUtils.ts +89 -0
- package/lib/types/Authorization.types.ts +12 -2
- package/lib/types/CredentialIssuance.types.ts +2 -2
- package/lib/types/Generic.types.ts +2 -2
- 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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"}
|
|
@@ -43,7 +43,7 @@ const createProofOfPossession = (popMode, callbacks, jwtProps, existingJwt) => _
|
|
|
43
43
|
const signerArgs = createJWT(popMode, jwtProps, existingJwt);
|
|
44
44
|
const jwt = yield callbacks.signCallback(signerArgs, signerArgs.header.kid);
|
|
45
45
|
const proof = {
|
|
46
|
-
proof_type: '
|
|
46
|
+
proof_type: 'JWT',
|
|
47
47
|
jwt,
|
|
48
48
|
};
|
|
49
49
|
try {
|
|
@@ -107,7 +107,7 @@ const createJWT = (mode, jwtProps, existingJwt) => {
|
|
|
107
107
|
// mode === 'pop'
|
|
108
108
|
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);
|
|
109
109
|
// : getJwtProperty<string>('iss', false, jwtProps?.issuer, existingJwt?.payload?.iss);
|
|
110
|
-
const client_id = mode === '
|
|
110
|
+
const client_id = mode === 'JWT' ? getJwtProperty('client_id', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.clientId, (_d = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _d === void 0 ? void 0 : _d.client_id) : undefined;
|
|
111
111
|
const jti = getJwtProperty('jti', false, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.jti, (_e = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.payload) === null || _e === void 0 ? void 0 : _e.jti);
|
|
112
112
|
const typ = getJwtProperty('typ', true, jwtProps === null || jwtProps === void 0 ? void 0 : jwtProps.typ, (_f = existingJwt === null || existingJwt === void 0 ? void 0 : existingJwt.header) === null || _f === void 0 ? void 0 : _f.typ, 'openid4vci-proof+jwt');
|
|
113
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
|
|
@@ -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":"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"}
|
|
@@ -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"}
|
|
@@ -45,7 +45,7 @@ export interface UniformCredentialOfferRequest extends AssertedUniformCredential
|
|
|
45
45
|
}
|
|
46
46
|
export type UniformCredentialOfferPayload = CredentialOfferPayloadV1_0_11 | CredentialOfferPayloadV1_0_13;
|
|
47
47
|
export interface ProofOfPossession {
|
|
48
|
-
proof_type: '
|
|
48
|
+
proof_type: 'JWT';
|
|
49
49
|
jwt: string;
|
|
50
50
|
[x: string]: unknown;
|
|
51
51
|
}
|
|
@@ -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
|
*/
|
|
@@ -42,7 +42,7 @@ export interface CredentialSupplierConfig {
|
|
|
42
42
|
export interface CredentialIssuerMetadataOpts {
|
|
43
43
|
credential_endpoint?: string;
|
|
44
44
|
batch_credential_endpoint?: string;
|
|
45
|
-
credentials_supported
|
|
45
|
+
credentials_supported?: CredentialConfigurationSupported[];
|
|
46
46
|
credential_issuer: string;
|
|
47
47
|
authorization_server?: string;
|
|
48
48
|
token_endpoint?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Generic.types.d.ts","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EACL,uCAAuC,EACvC,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE3G,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,2BAA2B,GAAG,aAAa,GACrD,YAAY,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,aAAa,GACzC,YAAY,GAAG;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEJ,MAAM,WAAW,wBAAwB;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,gCAAgC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Generic.types.d.ts","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
}
|
|
@@ -50,7 +50,7 @@ export const createProofOfPossession = async <DIDDoc>(
|
|
|
50
50
|
const signerArgs = createJWT(popMode, jwtProps, existingJwt);
|
|
51
51
|
const jwt = await callbacks.signCallback(signerArgs, signerArgs.header.kid);
|
|
52
52
|
const proof = {
|
|
53
|
-
proof_type: '
|
|
53
|
+
proof_type: 'JWT',
|
|
54
54
|
jwt,
|
|
55
55
|
} as ProofOfPossession;
|
|
56
56
|
|
|
@@ -131,9 +131,9 @@ const createJWT = (mode: PoPMode, jwtProps?: JwtProps, existingJwt?: Jwt): Jwt =
|
|
|
131
131
|
: getJwtProperty<string | string[]>('aud', false, jwtProps?.aud, existingJwt?.payload?.aud);
|
|
132
132
|
const iss =
|
|
133
133
|
// mode === 'pop'
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const client_id = mode === '
|
|
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
|
|
@@ -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> {
|
|
@@ -64,7 +64,7 @@ export interface UniformCredentialOfferRequest extends AssertedUniformCredential
|
|
|
64
64
|
export type UniformCredentialOfferPayload = CredentialOfferPayloadV1_0_11 | CredentialOfferPayloadV1_0_13;
|
|
65
65
|
|
|
66
66
|
export interface ProofOfPossession {
|
|
67
|
-
proof_type: '
|
|
67
|
+
proof_type: 'JWT';
|
|
68
68
|
jwt: string;
|
|
69
69
|
|
|
70
70
|
[x: string]: unknown;
|
|
@@ -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
|
|
@@ -62,7 +62,7 @@ export interface CredentialSupplierConfig {
|
|
|
62
62
|
export interface CredentialIssuerMetadataOpts {
|
|
63
63
|
credential_endpoint?: string; // REQUIRED. URL of the Credential Issuer's Credential Endpoint. This URL MUST use the https scheme and MAY contain port, path and query parameter components.
|
|
64
64
|
batch_credential_endpoint?: string; // OPTIONAL. URL of the Credential Issuer's Batch Credential Endpoint. This URL MUST use the https scheme and MAY contain port, path and query parameter components. If omitted, the Credential Issuer does not support the Batch Credential Endpoint.
|
|
65
|
-
credentials_supported
|
|
65
|
+
credentials_supported?: CredentialConfigurationSupported[]; // REQUIRED in versions below 13. A JSON array containing a list of JSON objects, each of them representing metadata about a separate credential type that the Credential Issuer can issue. The JSON objects in the array MUST conform to the structure of the Section 10.2.3.1.
|
|
66
66
|
credential_issuer: string; // REQUIRED. The Credential Issuer's identifier.
|
|
67
67
|
authorization_server?: string; // OPTIONAL. Identifier of the OAuth 2.0 Authorization Server (as defined in [RFC8414]) the Credential Issuer relies on for authorization. If this element is omitted, the entity providing the Credential Issuer is also acting as the AS, i.e. the Credential Issuer's identifier is used as the OAuth 2.0 Issuer value to obtain the Authorization Server metadata as per [RFC8414].
|
|
68
68
|
token_endpoint?: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/oid4vci-common",
|
|
3
|
-
"version": "0.12.1-unstable.
|
|
3
|
+
"version": "0.12.1-unstable.25+ab858f9",
|
|
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": "ab858f9ef3b7245d6e11ec91a77e82fcb49095ad"
|
|
53
53
|
}
|