@credo-ts/openid4vc 0.6.0-pr-2195-20250226100854 → 0.6.0-pr-2195-20250321180923
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/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +29 -29
- package/build/openid4vc-holder/OpenId4VcHolderApi.js +16 -16
- package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VcHolderModule.js +2 -2
- package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +2 -2
- package/build/openid4vc-holder/OpenId4VciHolderService.js +6 -6
- package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +1 -1
- package/build/openid4vc-holder/{OpenId4vcSiopHolderService.d.ts → OpenId4vpHolderService.d.ts} +21 -22
- package/build/openid4vc-holder/OpenId4vpHolderService.js +317 -0
- package/build/openid4vc-holder/OpenId4vpHolderService.js.map +1 -0
- package/build/openid4vc-holder/OpenId4vpHolderServiceOptions.d.ts +81 -0
- package/build/openid4vc-holder/{OpenId4vcSiopHolderServiceOptions.js → OpenId4vpHolderServiceOptions.js} +1 -1
- package/build/openid4vc-holder/OpenId4vpHolderServiceOptions.js.map +1 -0
- package/build/openid4vc-holder/index.d.ts +2 -2
- package/build/openid4vc-holder/index.js +2 -2
- package/build/openid4vc-holder/index.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.ts +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.ts +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +2 -3
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js +13 -16
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +8 -8
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +11 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +3 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.ts +1 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.d.ts +2 -2
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/credentialEndpoint.d.ts +1 -1
- package/build/openid4vc-issuer/router/credentialEndpoint.js +1 -0
- package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.d.ts +1 -1
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.js +15 -0
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/jwksEndpoint.d.ts +1 -1
- package/build/openid4vc-issuer/router/nonceEndpoint.d.ts +1 -1
- package/build/openid4vc-issuer/util/txCode.d.ts +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +13 -26
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.js +16 -25
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.ts +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.ts +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +4 -4
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.ts +30 -7
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js +16 -12
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js.map +1 -1
- package/build/openid4vc-verifier/{OpenId4VcSiopVerifierService.d.ts → OpenId4VpVerifierService.d.ts} +17 -33
- package/build/openid4vc-verifier/OpenId4VpVerifierService.js +765 -0
- package/build/openid4vc-verifier/OpenId4VpVerifierService.js.map +1 -0
- package/build/openid4vc-verifier/OpenId4VpVerifierServiceOptions.d.ts +146 -0
- package/build/openid4vc-verifier/{OpenId4VcSiopVerifierServiceOptions.js → OpenId4VpVerifierServiceOptions.js} +1 -1
- package/build/openid4vc-verifier/OpenId4VpVerifierServiceOptions.js.map +1 -0
- package/build/openid4vc-verifier/index.d.ts +2 -2
- package/build/openid4vc-verifier/index.js +2 -2
- package/build/openid4vc-verifier/index.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +25 -9
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +21 -2
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.ts +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.ts +3 -3
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.ts +1 -1
- package/build/openid4vc-verifier/router/authorizationEndpoint.d.ts +2 -10
- package/build/openid4vc-verifier/router/authorizationEndpoint.js +94 -7
- package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.d.ts +2 -10
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +18 -6
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +1 -1
- package/build/shared/callbacks.d.ts +2 -2
- package/build/shared/callbacks.js +10 -7
- package/build/shared/callbacks.js.map +1 -1
- package/build/shared/models/index.d.ts +4 -4
- package/build/shared/models/index.js.map +1 -1
- package/build/shared/router/context.d.ts +2 -2
- package/build/shared/router/context.js +9 -5
- package/build/shared/router/context.js.map +1 -1
- package/build/shared/router/express.js +1 -2
- package/build/shared/router/express.js.map +1 -1
- package/build/shared/transactionData.d.ts +5 -0
- package/build/shared/transactionData.js +22 -0
- package/build/shared/transactionData.js.map +1 -0
- package/build/shared/utils.d.ts +1 -1
- package/build/shared/utils.js +3 -3
- package/build/shared/utils.js.map +1 -1
- package/package.json +7 -6
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +0 -306
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +0 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +0 -54
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +0 -806
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +0 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +0 -93
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VpVerifierService.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VpVerifierService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import type { DcqlPresentation, DcqlPresentationResult, DcqlQuery, DifPexPresentationWithDescriptor, DifPresentationExchangeDefinition, DifPresentationExchangeDefinitionV2, DifPresentationExchangeSubmission, HashName, VerifiablePresentation } from '@credo-ts/core';
|
|
2
|
+
import type { TransactionDataEntry, createOpenid4vpAuthorizationRequest } from '@openid4vc/openid4vp';
|
|
3
|
+
import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuerDid } from '../shared';
|
|
4
|
+
import type { OpenId4VcVerificationSessionRecord, OpenId4VcVerifierRecordProps } from './repository';
|
|
5
|
+
export type ResponseMode = 'direct_post' | 'direct_post.jwt' | 'dc_api' | 'dc_api.jwt';
|
|
6
|
+
export interface OpenId4VpCreateAuthorizationRequestOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Signing information for the request JWT. This will be used to sign the request JWT
|
|
9
|
+
* and to set the client_id and client_id_scheme for registration of client_metadata.
|
|
10
|
+
*/
|
|
11
|
+
requestSigner: OpenId4VcJwtIssuerDid | Omit<OpenId4VcIssuerX5c, 'issuer'> | {
|
|
12
|
+
/**
|
|
13
|
+
* Do not sign the request. Only available for DC API (responseMode is `dc_api` or `dc_api.jwt`)
|
|
14
|
+
*/
|
|
15
|
+
method: 'none';
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Transaction data entries that need to be hashes and signed over by a specific credential
|
|
19
|
+
*/
|
|
20
|
+
transactionData?: TransactionDataEntry[];
|
|
21
|
+
/**
|
|
22
|
+
* A DIF Presentation Definition (v2) can be provided to request a Verifiable Presentation using OpenID4VP.
|
|
23
|
+
*/
|
|
24
|
+
presentationExchange?: {
|
|
25
|
+
definition: DifPresentationExchangeDefinitionV2;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* A Digital Credentials Query Language (DCQL) can be provided to request the presentation of a Verifiable Credentials.
|
|
29
|
+
*/
|
|
30
|
+
dcql?: {
|
|
31
|
+
query: DcqlQuery;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The response mode to use for the authorization request.
|
|
35
|
+
* @default to `direct_post.jwt`.
|
|
36
|
+
*
|
|
37
|
+
* With response_mode `direct_post` the response will be posted directly to the `response_uri` provided in the request.
|
|
38
|
+
* With response_mode `direct_post.jwt` the response will be encrypted and then posted to the `response_uri` provided in the request.
|
|
39
|
+
* The response mode `dc_api` and `dc_api.jwt` should only be used if the request will be passed over the W3C Digital Credentials API. In this case
|
|
40
|
+
* the response must be manually submitted when a response is received using `verifyAuthorizationResponse`.
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
responseMode?: ResponseMode;
|
|
44
|
+
/**
|
|
45
|
+
* The expected origins of the authorization response.
|
|
46
|
+
* REQUIRED when signed requests defined in Appendix A.3.2 are used with the Digital Credentials API (DC API). An array of strings, each string representing an Origin of the Verifier that is making the request.
|
|
47
|
+
*/
|
|
48
|
+
expectedOrigins?: string[];
|
|
49
|
+
/**
|
|
50
|
+
* The draft version of OpenID4VP to use for the authorization request.
|
|
51
|
+
*
|
|
52
|
+
* - For alignment with ISO 18013-7 (remote mDOC) `v1.draft21` should be used.
|
|
53
|
+
* - When responseMode is `dc_api` or `dc_api.jwt` version `v1.draft21` is not supported.
|
|
54
|
+
*
|
|
55
|
+
* @default `v1.draft24`
|
|
56
|
+
*/
|
|
57
|
+
version?: 'v1.draft21' | 'v1.draft24';
|
|
58
|
+
}
|
|
59
|
+
export interface OpenId4VpVerifyAuthorizationResponseOptions {
|
|
60
|
+
/**
|
|
61
|
+
* The authorization response received from the OpenID Provider (OP).
|
|
62
|
+
*/
|
|
63
|
+
authorizationResponse: Record<string, unknown>;
|
|
64
|
+
/**
|
|
65
|
+
* The origin of the verification session, if Digital Credentials API was used.
|
|
66
|
+
*/
|
|
67
|
+
origin?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface OpenId4VpCreateAuthorizationRequestReturn {
|
|
70
|
+
authorizationRequest: string;
|
|
71
|
+
verificationSession: OpenId4VcVerificationSessionRecord;
|
|
72
|
+
authorizationRequestObject: Awaited<ReturnType<typeof createOpenid4vpAuthorizationRequest>>['authorizationRequestObject'];
|
|
73
|
+
}
|
|
74
|
+
export interface OpenId4VpVerifiedAuthorizationResponsePresentationExchange {
|
|
75
|
+
submission: DifPresentationExchangeSubmission;
|
|
76
|
+
definition: DifPresentationExchangeDefinition;
|
|
77
|
+
presentations: Array<VerifiablePresentation>;
|
|
78
|
+
descriptors: DifPexPresentationWithDescriptor[];
|
|
79
|
+
}
|
|
80
|
+
export interface OpenId4VpVerifiedAuthorizationResponseTransactionData {
|
|
81
|
+
/**
|
|
82
|
+
* The index of the transaction data entry in the openid4vp authorization request
|
|
83
|
+
*/
|
|
84
|
+
transactionDataIndex: number;
|
|
85
|
+
/**
|
|
86
|
+
* The base64url encoded transaction data
|
|
87
|
+
*/
|
|
88
|
+
encoded: string;
|
|
89
|
+
/**
|
|
90
|
+
* The decoded transaction data entry
|
|
91
|
+
*/
|
|
92
|
+
decoded: TransactionDataEntry;
|
|
93
|
+
/**
|
|
94
|
+
* The credential id to which the hash applies.
|
|
95
|
+
* - Matches with an input descriptor id for PEX
|
|
96
|
+
* - Matches with a credential query id for DCQL
|
|
97
|
+
*/
|
|
98
|
+
credentialId: string;
|
|
99
|
+
/**
|
|
100
|
+
* The hash of the transaction data
|
|
101
|
+
*/
|
|
102
|
+
hash: string;
|
|
103
|
+
/**
|
|
104
|
+
* The hash algorithm that was used to hash the transaction data
|
|
105
|
+
*/
|
|
106
|
+
hashAlg: HashName;
|
|
107
|
+
/**
|
|
108
|
+
* The index of the hash within the credential.
|
|
109
|
+
*/
|
|
110
|
+
credentialHashIndex: number;
|
|
111
|
+
}
|
|
112
|
+
export interface OpenId4VpVerifiedAuthorizationResponseDcql {
|
|
113
|
+
query: DcqlQuery;
|
|
114
|
+
presentations: DcqlPresentation;
|
|
115
|
+
presentationResult: DcqlPresentationResult;
|
|
116
|
+
}
|
|
117
|
+
export interface OpenId4VpVerifiedAuthorizationResponse {
|
|
118
|
+
presentationExchange?: OpenId4VpVerifiedAuthorizationResponsePresentationExchange;
|
|
119
|
+
dcql?: OpenId4VpVerifiedAuthorizationResponseDcql;
|
|
120
|
+
/**
|
|
121
|
+
* The verified transaction data entries from the request
|
|
122
|
+
*/
|
|
123
|
+
transactionData?: OpenId4VpVerifiedAuthorizationResponseTransactionData[];
|
|
124
|
+
/**
|
|
125
|
+
* The verification session associated with the response
|
|
126
|
+
*/
|
|
127
|
+
verificationSession: OpenId4VcVerificationSessionRecord;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Verifier metadata that will be send when creating a request
|
|
131
|
+
*/
|
|
132
|
+
export interface OpenId4VpVerifierClientMetadata {
|
|
133
|
+
client_name?: string;
|
|
134
|
+
logo_uri?: string;
|
|
135
|
+
}
|
|
136
|
+
export interface OpenId4VpCreateVerifierOptions {
|
|
137
|
+
/**
|
|
138
|
+
* Id of the verifier, not the id of the verifier record. Will be exposed publicly
|
|
139
|
+
*/
|
|
140
|
+
verifierId?: string;
|
|
141
|
+
/**
|
|
142
|
+
* Optional client metadata that will be included in requests
|
|
143
|
+
*/
|
|
144
|
+
clientMetadata?: OpenId4VpVerifierClientMetadata;
|
|
145
|
+
}
|
|
146
|
+
export type OpenId4VcUpdateVerifierRecordOptions = Pick<OpenId4VcVerifierRecordProps, 'verifierId' | 'clientMetadata'>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenId4VpVerifierServiceOptions.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VpVerifierServiceOptions.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './OpenId4VcVerifierApi';
|
|
2
2
|
export * from './OpenId4VcVerifierModule';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
3
|
+
export * from './OpenId4VpVerifierService';
|
|
4
|
+
export * from './OpenId4VpVerifierServiceOptions';
|
|
5
5
|
export * from './OpenId4VcVerifierModuleConfig';
|
|
6
6
|
export * from './repository';
|
|
7
7
|
export * from './OpenId4VcVerificationSessionState';
|
|
@@ -16,8 +16,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./OpenId4VcVerifierApi"), exports);
|
|
18
18
|
__exportStar(require("./OpenId4VcVerifierModule"), exports);
|
|
19
|
-
__exportStar(require("./
|
|
20
|
-
__exportStar(require("./
|
|
19
|
+
__exportStar(require("./OpenId4VpVerifierService"), exports);
|
|
20
|
+
__exportStar(require("./OpenId4VpVerifierServiceOptions"), exports);
|
|
21
21
|
__exportStar(require("./OpenId4VcVerifierModuleConfig"), exports);
|
|
22
22
|
__exportStar(require("./repository"), exports);
|
|
23
23
|
__exportStar(require("./OpenId4VcVerificationSessionState"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,4DAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,4DAAyC;AACzC,6DAA0C;AAC1C,oEAAiD;AACjD,kEAA+C;AAC/C,+CAA4B;AAC5B,sEAAmD;AACnD,4DAAyC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { OpenId4VpAuthorizationRequestPayload, OpenId4VpAuthorizationResponsePayload } from '../../shared/models';
|
|
2
2
|
import type { OpenId4VcVerificationSessionState } from '../OpenId4VcVerificationSessionState';
|
|
3
|
-
import
|
|
4
|
-
import { BaseRecord } from '@credo-ts/core';
|
|
3
|
+
import { BaseRecord, RecordTags, TagsBase } from '@credo-ts/core';
|
|
5
4
|
export type OpenId4VcVerificationSessionRecordTags = RecordTags<OpenId4VcVerificationSessionRecord>;
|
|
6
5
|
export type DefaultOpenId4VcVerificationSessionRecordTags = {
|
|
7
6
|
verifierId: string;
|
|
@@ -9,6 +8,7 @@ export type DefaultOpenId4VcVerificationSessionRecordTags = {
|
|
|
9
8
|
nonce: string;
|
|
10
9
|
payloadState?: string;
|
|
11
10
|
authorizationRequestUri?: string;
|
|
11
|
+
authorizationRequestId?: string;
|
|
12
12
|
};
|
|
13
13
|
export interface OpenId4VcVerificationSessionRecordProps {
|
|
14
14
|
id?: string;
|
|
@@ -19,8 +19,10 @@ export interface OpenId4VcVerificationSessionRecordProps {
|
|
|
19
19
|
errorMessage?: string;
|
|
20
20
|
authorizationRequestJwt?: string;
|
|
21
21
|
authorizationRequestUri?: string;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
authorizationRequestId: string;
|
|
23
|
+
authorizationRequestPayload?: OpenId4VpAuthorizationRequestPayload;
|
|
24
|
+
expiresAt: Date;
|
|
25
|
+
authorizationResponsePayload?: OpenId4VpAuthorizationResponsePayload;
|
|
24
26
|
/**
|
|
25
27
|
* Presentation during issuance session. This is used when issuance of a credential requires a presentation, and helps
|
|
26
28
|
* prevent session fixation attacks
|
|
@@ -49,7 +51,7 @@ export declare class OpenId4VcVerificationSessionRecord extends BaseRecord<Defau
|
|
|
49
51
|
/**
|
|
50
52
|
* Authorization request payload. This should be used only for unsigned requests
|
|
51
53
|
*/
|
|
52
|
-
authorizationRequestPayload?:
|
|
54
|
+
authorizationRequestPayload?: OpenId4VpAuthorizationRequestPayload;
|
|
53
55
|
/**
|
|
54
56
|
* URI of the authorization request. This is the url that can be used to
|
|
55
57
|
* retrieve the authorization request.
|
|
@@ -57,18 +59,31 @@ export declare class OpenId4VcVerificationSessionRecord extends BaseRecord<Defau
|
|
|
57
59
|
* Not used for requests with response_mode of dc_api or dc_api.jwt
|
|
58
60
|
*/
|
|
59
61
|
authorizationRequestUri?: string;
|
|
62
|
+
/**
|
|
63
|
+
* The public id for the authorization request. This is used in the authorization
|
|
64
|
+
* request uri.
|
|
65
|
+
*
|
|
66
|
+
* @since 0.6
|
|
67
|
+
*/
|
|
68
|
+
authorizationRequestId?: string;
|
|
69
|
+
/**
|
|
70
|
+
* The time at which the authorization request expires.
|
|
71
|
+
*
|
|
72
|
+
* @since 0.6
|
|
73
|
+
*/
|
|
74
|
+
expiresAt?: Date;
|
|
60
75
|
/**
|
|
61
76
|
* The payload of the received authorization response
|
|
62
77
|
*/
|
|
63
|
-
authorizationResponsePayload?:
|
|
78
|
+
authorizationResponsePayload?: OpenId4VpAuthorizationResponsePayload;
|
|
64
79
|
/**
|
|
65
80
|
* Presentation during issuance session. This is used when issuance of a credential requires a presentation, and helps
|
|
66
81
|
* prevent session fixation attacks
|
|
67
82
|
*/
|
|
68
83
|
presentationDuringIssuanceSession?: string;
|
|
69
84
|
constructor(props: OpenId4VcVerificationSessionRecordProps);
|
|
70
|
-
get request(): string |
|
|
71
|
-
get requestPayload():
|
|
85
|
+
get request(): string | OpenId4VpAuthorizationRequestPayload;
|
|
86
|
+
get requestPayload(): OpenId4VpAuthorizationRequestPayload;
|
|
72
87
|
assertState(expectedStates: OpenId4VcVerificationSessionState | OpenId4VcVerificationSessionState[]): void;
|
|
73
88
|
getTags(): {
|
|
74
89
|
verifierId: string;
|
|
@@ -76,5 +91,6 @@ export declare class OpenId4VcVerificationSessionRecord extends BaseRecord<Defau
|
|
|
76
91
|
nonce: string;
|
|
77
92
|
payloadState: string | undefined;
|
|
78
93
|
authorizationRequestUri: string | undefined;
|
|
94
|
+
authorizationRequestId: string | undefined;
|
|
79
95
|
};
|
|
80
96
|
}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.OpenId4VcVerificationSessionRecord = void 0;
|
|
4
13
|
const core_1 = require("@credo-ts/core");
|
|
@@ -16,7 +25,9 @@ class OpenId4VcVerificationSessionRecord extends core_1.BaseRecord {
|
|
|
16
25
|
this.authorizationRequestPayload = props.authorizationRequestPayload;
|
|
17
26
|
this.authorizationRequestJwt = props.authorizationRequestJwt;
|
|
18
27
|
this.authorizationRequestUri = props.authorizationRequestUri;
|
|
28
|
+
this.authorizationRequestId = props.authorizationRequestId;
|
|
19
29
|
this.authorizationResponsePayload = props.authorizationResponsePayload;
|
|
30
|
+
this.expiresAt = props.expiresAt;
|
|
20
31
|
this.presentationDuringIssuanceSession = props.presentationDuringIssuanceSession;
|
|
21
32
|
}
|
|
22
33
|
}
|
|
@@ -36,6 +47,7 @@ class OpenId4VcVerificationSessionRecord extends core_1.BaseRecord {
|
|
|
36
47
|
}
|
|
37
48
|
assertState(expectedStates) {
|
|
38
49
|
if (!Array.isArray(expectedStates)) {
|
|
50
|
+
// biome-ignore lint/style/noParameterAssign: <explanation>
|
|
39
51
|
expectedStates = [expectedStates];
|
|
40
52
|
}
|
|
41
53
|
if (!expectedStates.includes(this.state)) {
|
|
@@ -45,8 +57,6 @@ class OpenId4VcVerificationSessionRecord extends core_1.BaseRecord {
|
|
|
45
57
|
getTags() {
|
|
46
58
|
const request = this.requestPayload;
|
|
47
59
|
const nonce = request.nonce;
|
|
48
|
-
if (!nonce || typeof nonce !== 'string')
|
|
49
|
-
throw new core_1.CredoError('Expected nonce in authorization request payload');
|
|
50
60
|
const payloadState = 'state' in request ? request.state : undefined;
|
|
51
61
|
return {
|
|
52
62
|
...this._tags,
|
|
@@ -55,9 +65,18 @@ class OpenId4VcVerificationSessionRecord extends core_1.BaseRecord {
|
|
|
55
65
|
nonce,
|
|
56
66
|
payloadState,
|
|
57
67
|
authorizationRequestUri: this.authorizationRequestUri,
|
|
68
|
+
authorizationRequestId: this.authorizationRequestId,
|
|
58
69
|
};
|
|
59
70
|
}
|
|
60
71
|
}
|
|
61
72
|
exports.OpenId4VcVerificationSessionRecord = OpenId4VcVerificationSessionRecord;
|
|
62
73
|
OpenId4VcVerificationSessionRecord.type = 'OpenId4VcVerificationSessionRecord';
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, core_1.DateTransformer)(),
|
|
76
|
+
__metadata("design:type", Date
|
|
77
|
+
/**
|
|
78
|
+
* The payload of the received authorization response
|
|
79
|
+
*/
|
|
80
|
+
)
|
|
81
|
+
], OpenId4VcVerificationSessionRecord.prototype, "expiresAt", void 0);
|
|
63
82
|
//# sourceMappingURL=OpenId4VcVerificationSessionRecord.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4VcVerificationSessionRecord.js","sourceRoot":"","sources":["../../../src/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenId4VcVerificationSessionRecord.js","sourceRoot":"","sources":["../../../src/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Repository, StorageService
|
|
1
|
+
import { EventEmitter, Repository, StorageService } from '@credo-ts/core';
|
|
2
2
|
import { OpenId4VcVerificationSessionRecord } from './OpenId4VcVerificationSessionRecord';
|
|
3
3
|
export declare class OpenId4VcVerificationSessionRepository extends Repository<OpenId4VcVerificationSessionRecord> {
|
|
4
4
|
constructor(storageService: StorageService<OpenId4VcVerificationSessionRecord>, eventEmitter: EventEmitter);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { OpenId4VcSiopVerifierClientMetadata } from '../OpenId4VcSiopVerifierServiceOptions';
|
|
2
1
|
import type { RecordTags, TagsBase } from '@credo-ts/core';
|
|
2
|
+
import type { OpenId4VpVerifierClientMetadata } from '../OpenId4VpVerifierServiceOptions';
|
|
3
3
|
import { BaseRecord } from '@credo-ts/core';
|
|
4
4
|
export type OpenId4VcVerifierRecordTags = RecordTags<OpenId4VcVerifierRecord>;
|
|
5
5
|
export type DefaultOpenId4VcVerifierRecordTags = {
|
|
@@ -10,7 +10,7 @@ export interface OpenId4VcVerifierRecordProps {
|
|
|
10
10
|
createdAt?: Date;
|
|
11
11
|
tags?: TagsBase;
|
|
12
12
|
verifierId: string;
|
|
13
|
-
clientMetadata?:
|
|
13
|
+
clientMetadata?: OpenId4VpVerifierClientMetadata;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* For OID4VC you need to expos metadata files. Each issuer needs to host this metadata. This is not the case for DIDComm where we can just have one /didcomm endpoint.
|
|
@@ -21,7 +21,7 @@ export declare class OpenId4VcVerifierRecord extends BaseRecord<DefaultOpenId4Vc
|
|
|
21
21
|
static readonly type = "OpenId4VcVerifierRecord";
|
|
22
22
|
readonly type = "OpenId4VcVerifierRecord";
|
|
23
23
|
verifierId: string;
|
|
24
|
-
clientMetadata?:
|
|
24
|
+
clientMetadata?: OpenId4VpVerifierClientMetadata;
|
|
25
25
|
constructor(props: OpenId4VcVerifierRecordProps);
|
|
26
26
|
getTags(): {
|
|
27
27
|
verifierId: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentContext } from '@credo-ts/core';
|
|
2
|
-
import { Repository, StorageService
|
|
2
|
+
import { EventEmitter, Repository, StorageService } from '@credo-ts/core';
|
|
3
3
|
import { OpenId4VcVerifierRecord } from './OpenId4VcVerifierRecord';
|
|
4
4
|
export declare class OpenId4VcVerifierRepository extends Repository<OpenId4VcVerifierRecord> {
|
|
5
5
|
constructor(storageService: StorageService<OpenId4VcVerifierRecord>, eventEmitter: EventEmitter);
|
|
@@ -1,11 +1,3 @@
|
|
|
1
1
|
import type { Router } from 'express';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* The path at which the authorization endpoint should be made available. Note that it will be
|
|
5
|
-
* hosted at a subpath to take into account multiple tenants and verifiers.
|
|
6
|
-
*
|
|
7
|
-
* @default /authorize
|
|
8
|
-
*/
|
|
9
|
-
endpointPath: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function configureAuthorizationEndpoint(router: Router, config: OpenId4VcSiopAuthorizationEndpointConfig): void;
|
|
2
|
+
import { OpenId4VcVerifierModuleConfig } from '../OpenId4VcVerifierModuleConfig';
|
|
3
|
+
export declare function configureAuthorizationEndpoint(router: Router, config: OpenId4VcVerifierModuleConfig): void;
|
|
@@ -2,28 +2,115 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.configureAuthorizationEndpoint = configureAuthorizationEndpoint;
|
|
4
4
|
const oauth2_1 = require("@openid4vc/oauth2");
|
|
5
|
+
const core_1 = require("@credo-ts/core");
|
|
6
|
+
// FIXME: export parseOpenid4VpAuthorizationResponsePayload from openid4vp
|
|
7
|
+
const openid4vp_1 = require("@openid4vc/openid4vp");
|
|
5
8
|
const router_1 = require("../../shared/router");
|
|
6
|
-
const
|
|
9
|
+
const OpenId4VpVerifierService_1 = require("../OpenId4VpVerifierService");
|
|
10
|
+
const repository_1 = require("../repository");
|
|
11
|
+
const utils_1 = require("@openid4vc/utils");
|
|
7
12
|
function configureAuthorizationEndpoint(router, config) {
|
|
8
|
-
router.post(config.
|
|
13
|
+
router.post(config.authorizationEndpoint, async (request, response, next) => {
|
|
9
14
|
const { agentContext, verifier } = (0, router_1.getRequestContext)(request);
|
|
15
|
+
const openId4VcVerifierService = agentContext.dependencyManager.resolve(OpenId4VpVerifierService_1.OpenId4VpVerifierService);
|
|
10
16
|
try {
|
|
11
|
-
const
|
|
12
|
-
|
|
17
|
+
const result = await getVerificationSession(agentContext, request, response, next, verifier);
|
|
18
|
+
// Response already handled in the method
|
|
19
|
+
if (!result.success)
|
|
20
|
+
return;
|
|
21
|
+
const { verificationSession } = await openId4VcVerifierService.verifyAuthorizationResponse(agentContext, {
|
|
13
22
|
authorizationResponse: request.body,
|
|
14
|
-
|
|
23
|
+
verificationSession: result.verificationSession,
|
|
15
24
|
});
|
|
16
25
|
return (0, router_1.sendJsonResponse)(response, next, {
|
|
17
26
|
// Used only for presentation during issuance flow, to prevent session fixation.
|
|
18
|
-
presentation_during_issuance_session:
|
|
27
|
+
presentation_during_issuance_session: verificationSession.presentationDuringIssuanceSession,
|
|
28
|
+
// TODO: add callback for the user of Credo, where also a redirect_uri can be returned
|
|
29
|
+
// callback should also be called in case of failed verification
|
|
30
|
+
// redirect_uri
|
|
19
31
|
});
|
|
20
32
|
}
|
|
21
33
|
catch (error) {
|
|
22
34
|
if (error instanceof oauth2_1.Oauth2ServerErrorResponseError) {
|
|
23
35
|
return (0, router_1.sendOauth2ErrorResponse)(response, next, agentContext.config.logger, error);
|
|
24
36
|
}
|
|
25
|
-
|
|
37
|
+
// FIXME: should throw a Oauth2ServerErrorResponseError in the oid4vp library
|
|
38
|
+
if (error instanceof utils_1.ValidationError) {
|
|
39
|
+
return (0, router_1.sendOauth2ErrorResponse)(response, next, agentContext.config.logger, new oauth2_1.Oauth2ServerErrorResponseError({
|
|
40
|
+
error: oauth2_1.Oauth2ErrorCodes.InvalidRequest,
|
|
41
|
+
error_description: error.message,
|
|
42
|
+
}, { cause: error }));
|
|
43
|
+
}
|
|
44
|
+
// FIXME: Many CredoError will result in 500. We should either throw Oauth2ServerErrorResponseError as well
|
|
45
|
+
// Or have a special OpenID4VP verifier error that is similar to Oauth2ServerErrorResponseError
|
|
46
|
+
return (0, router_1.sendUnknownServerErrorResponse)(response, next, agentContext.config.logger, error);
|
|
26
47
|
}
|
|
27
48
|
});
|
|
28
49
|
}
|
|
50
|
+
async function getVerificationSession(agentContext, request, response, next, verifier) {
|
|
51
|
+
const openId4VcVerificationSessionRepository = agentContext.dependencyManager.resolve(repository_1.OpenId4VcVerificationSessionRepository);
|
|
52
|
+
try {
|
|
53
|
+
if (request.query.session) {
|
|
54
|
+
if (typeof request.query.session !== 'string') {
|
|
55
|
+
(0, router_1.sendErrorResponse)(response, next, agentContext.config.logger, 400, oauth2_1.Oauth2ErrorCodes.InvalidRequest, `Unexpected value for 'session' query param`);
|
|
56
|
+
return { success: false };
|
|
57
|
+
}
|
|
58
|
+
const verificationSession = await openId4VcVerificationSessionRepository.findSingleByQuery(agentContext, {
|
|
59
|
+
verifierId: verifier.verifierId,
|
|
60
|
+
authorizationRequestId: request.query.session,
|
|
61
|
+
});
|
|
62
|
+
if (!verificationSession) {
|
|
63
|
+
(0, router_1.sendErrorResponse)(response, next, agentContext.config.logger, 400, oauth2_1.Oauth2ErrorCodes.InvalidRequest, `Invalid 'session' parameter`);
|
|
64
|
+
return { success: false };
|
|
65
|
+
}
|
|
66
|
+
return { success: true, verificationSession };
|
|
67
|
+
}
|
|
68
|
+
const parsedResponse = openid4vp_1.zOpenid4vpAuthorizationResponse.safeParse(request.body);
|
|
69
|
+
if (parsedResponse.success) {
|
|
70
|
+
if (!parsedResponse.data.state) {
|
|
71
|
+
(0, router_1.sendErrorResponse)(response, next, agentContext.config.logger, 400, oauth2_1.Oauth2ErrorCodes.InvalidRequest, `Missing required 'state' parameter in response without response encryption`);
|
|
72
|
+
return { success: false };
|
|
73
|
+
}
|
|
74
|
+
const verificationSession = await openId4VcVerificationSessionRepository.findSingleByQuery(agentContext, {
|
|
75
|
+
payloadState: parsedResponse.data.state,
|
|
76
|
+
verifierId: verifier.verifierId,
|
|
77
|
+
});
|
|
78
|
+
if (!verificationSession) {
|
|
79
|
+
(0, router_1.sendErrorResponse)(response, next, agentContext.config.logger, 400, oauth2_1.Oauth2ErrorCodes.InvalidRequest, `Invalid 'state' parameter`);
|
|
80
|
+
return { success: false };
|
|
81
|
+
}
|
|
82
|
+
return { success: true, verificationSession };
|
|
83
|
+
}
|
|
84
|
+
// Try extracting apv (request nonce), which is used in encrypted responses (for ISO 18013-7/before draft 24)
|
|
85
|
+
if (typeof request.body === 'object' && 'response' in request.body) {
|
|
86
|
+
const { header } = (0, oauth2_1.decodeJwtHeader)({
|
|
87
|
+
jwt: request.body.response,
|
|
88
|
+
});
|
|
89
|
+
if (!header.apv) {
|
|
90
|
+
(0, router_1.sendErrorResponse)(response, next, agentContext.config.logger, 400, oauth2_1.Oauth2ErrorCodes.InvalidRequest, `Missing 'session' query param or 'apv' value in header of encrypted JARM response.`);
|
|
91
|
+
return { success: false };
|
|
92
|
+
}
|
|
93
|
+
if (typeof header.apv !== 'string') {
|
|
94
|
+
(0, router_1.sendErrorResponse)(response, next, agentContext.config.logger, 400, oauth2_1.Oauth2ErrorCodes.InvalidRequest, `'apv' value in header of encrypted JARM response is not of type string.`);
|
|
95
|
+
return { success: false };
|
|
96
|
+
}
|
|
97
|
+
const nonce = core_1.TypedArrayEncoder.toUtf8String(core_1.TypedArrayEncoder.fromBase64(header.apv));
|
|
98
|
+
const verificationSession = await openId4VcVerificationSessionRepository.findSingleByQuery(agentContext, {
|
|
99
|
+
nonce,
|
|
100
|
+
verifierId: verifier.verifierId,
|
|
101
|
+
});
|
|
102
|
+
if (!verificationSession) {
|
|
103
|
+
(0, router_1.sendErrorResponse)(response, next, agentContext.config.logger, 400, oauth2_1.Oauth2ErrorCodes.InvalidRequest, `Invalid 'apv' parameter`);
|
|
104
|
+
return { success: false };
|
|
105
|
+
}
|
|
106
|
+
return { success: true, verificationSession };
|
|
107
|
+
}
|
|
108
|
+
(0, router_1.sendErrorResponse)(response, next, agentContext.config.logger, 400, oauth2_1.Oauth2ErrorCodes.InvalidRequest, 'Invalid response');
|
|
109
|
+
return { success: false };
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
(0, router_1.sendUnknownServerErrorResponse)(response, next, agentContext.config.logger, error);
|
|
113
|
+
return { success: false };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
29
116
|
//# sourceMappingURL=authorizationEndpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorizationEndpoint.js","sourceRoot":"","sources":["../../../src/openid4vc-verifier/router/authorizationEndpoint.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"authorizationEndpoint.js","sourceRoot":"","sources":["../../../src/openid4vc-verifier/router/authorizationEndpoint.ts"],"names":[],"mappings":";;AAyBA,wEAiDC;AAvED,8CAAqG;AAErG,yCAAgE;AAChE,0EAA0E;AAC1E,oDAAsE;AACtE,gDAM4B;AAC5B,0EAAsE;AACtE,8CAIsB;AAEtB,4CAAkD;AAGlD,SAAgB,8BAA8B,CAAC,MAAc,EAAE,MAAqC;IAClG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAqC,EAAE,QAAkB,EAAE,IAAI,EAAE,EAAE;QAClH,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,CAAA;QAC7D,MAAM,wBAAwB,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,mDAAwB,CAAC,CAAA;QAEjG,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC5F,yCAAyC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAM;YAE3B,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,wBAAwB,CAAC,2BAA2B,CAAC,YAAY,EAAE;gBACvG,qBAAqB,EAAE,OAAO,CAAC,IAAI;gBACnC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;aAChD,CAAC,CAAA;YAEF,OAAO,IAAA,yBAAgB,EAAC,QAAQ,EAAE,IAAI,EAAE;gBACtC,gFAAgF;gBAChF,oCAAoC,EAAE,mBAAmB,CAAC,iCAAiC;gBAE3F,sFAAsF;gBACtF,gEAAgE;gBAChE,eAAe;aAChB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,uCAA8B,EAAE,CAAC;gBACpD,OAAO,IAAA,gCAAuB,EAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACnF,CAAC;YAED,6EAA6E;YAC7E,IAAI,KAAK,YAAY,uBAAe,EAAE,CAAC;gBACrC,OAAO,IAAA,gCAAuB,EAC5B,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,IAAI,uCAA8B,CAChC;oBACE,KAAK,EAAE,yBAAgB,CAAC,cAAc;oBACtC,iBAAiB,EAAE,KAAK,CAAC,OAAO;iBACjC,EACD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CACF,CAAA;YACH,CAAC;YAED,2GAA2G;YAC3G,+FAA+F;YAC/F,OAAO,IAAA,uCAA8B,EAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC1F,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,YAA0B,EAC1B,OAAgB,EAChB,QAAkB,EAClB,IAAkB,EAClB,QAAiC;IAEjC,MAAM,sCAAsC,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CACnF,mDAAsC,CACvC,CAAA;IAED,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9C,IAAA,0BAAiB,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,GAAG,EACH,yBAAgB,CAAC,cAAc,EAC/B,4CAA4C,CAC7C,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3B,CAAC;YAED,MAAM,mBAAmB,GAAG,MAAM,sCAAsC,CAAC,iBAAiB,CAAC,YAAY,EAAE;gBACvG,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,sBAAsB,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;aAC9C,CAAC,CAAA;YAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,IAAA,0BAAiB,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,GAAG,EACH,yBAAgB,CAAC,cAAc,EAC/B,6BAA6B,CAC9B,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3B,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;QAC/C,CAAC;QAED,MAAM,cAAc,GAAG,2CAA+B,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9E,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAA,0BAAiB,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,GAAG,EACH,yBAAgB,CAAC,cAAc,EAC/B,4EAA4E,CAC7E,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3B,CAAC;YAED,MAAM,mBAAmB,GAAG,MAAM,sCAAsC,CAAC,iBAAiB,CAAC,YAAY,EAAE;gBACvG,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK;gBACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC,CAAC,CAAA;YAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,IAAA,0BAAiB,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,GAAG,EACH,yBAAgB,CAAC,cAAc,EAC/B,2BAA2B,CAC5B,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3B,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;QAC/C,CAAC;QAED,6GAA6G;QAC7G,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACnE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAe,EAAC;gBACjC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;aAC3B,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAChB,IAAA,0BAAiB,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,GAAG,EACH,yBAAgB,CAAC,cAAc,EAC/B,oFAAoF,CACrF,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3B,CAAC;YAED,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAA,0BAAiB,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,GAAG,EACH,yBAAgB,CAAC,cAAc,EAC/B,yEAAyE,CAC1E,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3B,CAAC;YAED,MAAM,KAAK,GAAG,wBAAiB,CAAC,YAAY,CAAC,wBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACtF,MAAM,mBAAmB,GAAG,MAAM,sCAAsC,CAAC,iBAAiB,CAAC,YAAY,EAAE;gBACvG,KAAK;gBACL,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC,CAAC,CAAA;YAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,IAAA,0BAAiB,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,GAAG,EACH,yBAAgB,CAAC,cAAc,EAC/B,yBAAyB,CAC1B,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3B,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;QAC/C,CAAC;QAED,IAAA,0BAAiB,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,CAAC,MAAM,CAAC,MAAM,EAC1B,GAAG,EACH,yBAAgB,CAAC,cAAc,EAC/B,kBAAkB,CACnB,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,uCAA8B,EAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
1
|
import type { Router } from 'express';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* The path at which the authorization request should be made available. Note that it will be
|
|
5
|
-
* hosted at a subpath to take into account multiple tenants and verifiers.
|
|
6
|
-
*
|
|
7
|
-
* @default /authorization-requests
|
|
8
|
-
*/
|
|
9
|
-
endpointPath: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function configureAuthorizationRequestEndpoint(router: Router, config: OpenId4VcSiopAuthorizationRequestEndpointConfig): void;
|
|
2
|
+
import { OpenId4VcVerifierModuleConfig } from '../OpenId4VcVerifierModuleConfig';
|
|
3
|
+
export declare function configureAuthorizationRequestEndpoint(router: Router, config: OpenId4VcVerifierModuleConfig): void;
|