@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
|
@@ -11,61 +11,55 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.OpenId4VcVerifierApi = void 0;
|
|
13
13
|
const core_1 = require("@credo-ts/core");
|
|
14
|
-
const OpenId4VcSiopVerifierService_1 = require("./OpenId4VcSiopVerifierService");
|
|
15
14
|
const OpenId4VcVerifierModuleConfig_1 = require("./OpenId4VcVerifierModuleConfig");
|
|
15
|
+
const OpenId4VpVerifierService_1 = require("./OpenId4VpVerifierService");
|
|
16
16
|
/**
|
|
17
17
|
* @public
|
|
18
18
|
*/
|
|
19
19
|
let OpenId4VcVerifierApi = class OpenId4VcVerifierApi {
|
|
20
|
-
constructor(config, agentContext,
|
|
20
|
+
constructor(config, agentContext, openId4VpVerifierService) {
|
|
21
21
|
this.config = config;
|
|
22
22
|
this.agentContext = agentContext;
|
|
23
|
-
this.
|
|
23
|
+
this.openId4VpVerifierService = openId4VpVerifierService;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Retrieve all verifier records from storage
|
|
27
27
|
*/
|
|
28
28
|
async getAllVerifiers() {
|
|
29
|
-
return this.
|
|
29
|
+
return this.openId4VpVerifierService.getAllVerifiers(this.agentContext);
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Retrieve a verifier record from storage by its verified id
|
|
33
33
|
*/
|
|
34
34
|
async getVerifierByVerifierId(verifierId) {
|
|
35
|
-
return this.
|
|
35
|
+
return this.openId4VpVerifierService.getVerifierByVerifierId(this.agentContext, verifierId);
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Create a new verifier and store the new verifier record.
|
|
39
39
|
*/
|
|
40
40
|
async createVerifier(options) {
|
|
41
|
-
return this.
|
|
41
|
+
return this.openId4VpVerifierService.createVerifier(this.agentContext, options);
|
|
42
42
|
}
|
|
43
43
|
async updateVerifierMetadata(options) {
|
|
44
44
|
const { verifierId, clientMetadata } = options;
|
|
45
|
-
const verifier = await this.
|
|
45
|
+
const verifier = await this.openId4VpVerifierService.getVerifierByVerifierId(this.agentContext, verifierId);
|
|
46
46
|
verifier.clientMetadata = clientMetadata;
|
|
47
|
-
return this.
|
|
47
|
+
return this.openId4VpVerifierService.updateVerifier(this.agentContext, verifier);
|
|
48
48
|
}
|
|
49
49
|
async findVerificationSessionsByQuery(query, queryOptions) {
|
|
50
|
-
return this.
|
|
50
|
+
return this.openId4VpVerifierService.findVerificationSessionsByQuery(this.agentContext, query, queryOptions);
|
|
51
51
|
}
|
|
52
52
|
async getVerificationSessionById(verificationSessionId) {
|
|
53
|
-
return this.
|
|
53
|
+
return this.openId4VpVerifierService.getVerificationSessionById(this.agentContext, verificationSessionId);
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
|
-
* Create an authorization request, acting as a Relying Party (RP).
|
|
56
|
+
* Create an OpenID4VP authorization request, acting as a Relying Party (RP).
|
|
57
57
|
*
|
|
58
|
-
*
|
|
59
|
-
* - SIOP Self-Issued ID Token request: request to a Self-Issued OP from an RP
|
|
60
|
-
* - SIOP Verifiable Presentation Request: request to a Self-Issued OP from an RP, requesting a Verifiable Presentation using OpenID4VP
|
|
61
|
-
*
|
|
62
|
-
* Other flows (non-SIOP) are not supported at the moment, but can be added in the future.
|
|
63
|
-
*
|
|
64
|
-
* See {@link OpenId4VcSiopCreateAuthorizationRequestOptions} for detailed documentation on the options.
|
|
58
|
+
* See {@link OpenId4VpCreateAuthorizationRequestOptions} for detailed documentation on the options.
|
|
65
59
|
*/
|
|
66
60
|
async createAuthorizationRequest({ verifierId, ...otherOptions }) {
|
|
67
61
|
const verifier = await this.getVerifierByVerifierId(verifierId);
|
|
68
|
-
return await this.
|
|
62
|
+
return await this.openId4VpVerifierService.createAuthorizationRequest(this.agentContext, {
|
|
69
63
|
...otherOptions,
|
|
70
64
|
verifier,
|
|
71
65
|
});
|
|
@@ -78,17 +72,14 @@ let OpenId4VcVerifierApi = class OpenId4VcVerifierApi {
|
|
|
78
72
|
*/
|
|
79
73
|
async verifyAuthorizationResponse({ verificationSessionId, ...otherOptions }) {
|
|
80
74
|
const verificationSession = await this.getVerificationSessionById(verificationSessionId);
|
|
81
|
-
return await this.
|
|
75
|
+
return await this.openId4VpVerifierService.verifyAuthorizationResponse(this.agentContext, {
|
|
82
76
|
...otherOptions,
|
|
83
77
|
verificationSession,
|
|
84
78
|
});
|
|
85
79
|
}
|
|
86
80
|
async getVerifiedAuthorizationResponse(verificationSessionId) {
|
|
87
81
|
const verificationSession = await this.getVerificationSessionById(verificationSessionId);
|
|
88
|
-
return this.
|
|
89
|
-
}
|
|
90
|
-
async findVerificationSessionForAuthorizationResponse(options) {
|
|
91
|
-
return this.openId4VcSiopVerifierService.findVerificationSessionForAuthorizationResponse(this.agentContext, options);
|
|
82
|
+
return this.openId4VpVerifierService.getVerifiedAuthorizationResponse(this.agentContext, verificationSession);
|
|
92
83
|
}
|
|
93
84
|
};
|
|
94
85
|
exports.OpenId4VcVerifierApi = OpenId4VcVerifierApi;
|
|
@@ -96,6 +87,6 @@ exports.OpenId4VcVerifierApi = OpenId4VcVerifierApi = __decorate([
|
|
|
96
87
|
(0, core_1.injectable)(),
|
|
97
88
|
__metadata("design:paramtypes", [OpenId4VcVerifierModuleConfig_1.OpenId4VcVerifierModuleConfig,
|
|
98
89
|
core_1.AgentContext,
|
|
99
|
-
|
|
90
|
+
OpenId4VpVerifierService_1.OpenId4VpVerifierService])
|
|
100
91
|
], OpenId4VcVerifierApi);
|
|
101
92
|
//# sourceMappingURL=OpenId4VcVerifierApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4VcVerifierApi.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcVerifierApi.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"OpenId4VcVerifierApi.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcVerifierApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { BaseEvent } from '@credo-ts/core';
|
|
1
2
|
import type { OpenId4VcVerificationSessionState } from './OpenId4VcVerificationSessionState';
|
|
2
3
|
import type { OpenId4VcVerificationSessionRecord } from './repository';
|
|
3
|
-
import type { BaseEvent } from '@credo-ts/core';
|
|
4
4
|
export declare enum OpenId4VcVerifierEvents {
|
|
5
5
|
VerificationSessionStateChanged = "OpenId4VcVerifier.VerificationSessionStateChanged"
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { OpenId4VcVerifierModuleConfigOptions } from './OpenId4VcVerifierModuleConfig';
|
|
2
1
|
import type { AgentContext, DependencyManager, Module } from '@credo-ts/core';
|
|
2
|
+
import type { OpenId4VcVerifierModuleConfigOptions } from './OpenId4VcVerifierModuleConfig';
|
|
3
3
|
import { OpenId4VcVerifierApi } from './OpenId4VcVerifierApi';
|
|
4
4
|
import { OpenId4VcVerifierModuleConfig } from './OpenId4VcVerifierModuleConfig';
|
|
5
5
|
/**
|
|
@@ -4,9 +4,9 @@ exports.OpenId4VcVerifierModule = void 0;
|
|
|
4
4
|
const core_1 = require("@credo-ts/core");
|
|
5
5
|
const oauth2_1 = require("@openid4vc/oauth2");
|
|
6
6
|
const router_1 = require("../shared/router");
|
|
7
|
-
const OpenId4VcSiopVerifierService_1 = require("./OpenId4VcSiopVerifierService");
|
|
8
7
|
const OpenId4VcVerifierApi_1 = require("./OpenId4VcVerifierApi");
|
|
9
8
|
const OpenId4VcVerifierModuleConfig_1 = require("./OpenId4VcVerifierModuleConfig");
|
|
9
|
+
const OpenId4VpVerifierService_1 = require("./OpenId4VpVerifierService");
|
|
10
10
|
const repository_1 = require("./repository");
|
|
11
11
|
const router_2 = require("./router");
|
|
12
12
|
const authorizationRequestEndpoint_1 = require("./router/authorizationRequestEndpoint");
|
|
@@ -33,7 +33,7 @@ class OpenId4VcVerifierModule {
|
|
|
33
33
|
// Register config
|
|
34
34
|
dependencyManager.registerInstance(OpenId4VcVerifierModuleConfig_1.OpenId4VcVerifierModuleConfig, this.config);
|
|
35
35
|
// Services
|
|
36
|
-
dependencyManager.registerSingleton(
|
|
36
|
+
dependencyManager.registerSingleton(OpenId4VpVerifierService_1.OpenId4VpVerifierService);
|
|
37
37
|
// Repository
|
|
38
38
|
dependencyManager.registerSingleton(repository_1.OpenId4VcVerifierRepository);
|
|
39
39
|
}
|
|
@@ -86,8 +86,8 @@ class OpenId4VcVerifierModule {
|
|
|
86
86
|
});
|
|
87
87
|
contextRouter.use('/:verifierId', endpointRouter);
|
|
88
88
|
// Configure endpoints
|
|
89
|
-
(0, router_2.configureAuthorizationEndpoint)(endpointRouter, this.config
|
|
90
|
-
(0, authorizationRequestEndpoint_1.configureAuthorizationRequestEndpoint)(endpointRouter, this.config
|
|
89
|
+
(0, router_2.configureAuthorizationEndpoint)(endpointRouter, this.config);
|
|
90
|
+
(0, authorizationRequestEndpoint_1.configureAuthorizationRequestEndpoint)(endpointRouter, this.config);
|
|
91
91
|
// First one will be called for all requests (when next is called)
|
|
92
92
|
contextRouter.use(async (req, _res, next) => {
|
|
93
93
|
const { agentContext } = (0, router_1.getRequestContext)(req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4VcVerifierModule.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcVerifierModule.ts"],"names":[],"mappings":";;;AAKA,yCAA4C;AAC5C,8CAAmD;AAEnD,6CAA8F;AAE9F,
|
|
1
|
+
{"version":3,"file":"OpenId4VcVerifierModule.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcVerifierModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import type { OpenId4VcSiopAuthorizationEndpointConfig } from './router/authorizationEndpoint';
|
|
2
|
-
import type { OpenId4VcSiopAuthorizationRequestEndpointConfig } from './router/authorizationRequestEndpoint';
|
|
3
|
-
import type { Optional } from '@credo-ts/core';
|
|
4
1
|
import type { Router } from 'express';
|
|
5
2
|
export interface OpenId4VcVerifierModuleConfigOptions {
|
|
6
3
|
/**
|
|
@@ -16,9 +13,23 @@ export interface OpenId4VcVerifierModuleConfigOptions {
|
|
|
16
13
|
* expose this on a public url that is reachable when `baseUrl` is called.
|
|
17
14
|
*/
|
|
18
15
|
router?: Router;
|
|
16
|
+
/**
|
|
17
|
+
* The number of seconds after which a created authorization request will expire.
|
|
18
|
+
*
|
|
19
|
+
* This is used for the `exp` field of a signed authorization request.
|
|
20
|
+
*
|
|
21
|
+
* @default 300
|
|
22
|
+
*/
|
|
23
|
+
authorizationRequestExpirationInSeconds?: number;
|
|
19
24
|
endpoints?: {
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
/**
|
|
26
|
+
* @default /authorize
|
|
27
|
+
*/
|
|
28
|
+
authorization?: string;
|
|
29
|
+
/**
|
|
30
|
+
* @default /authorization-requests
|
|
31
|
+
*/
|
|
32
|
+
authorizationRequest?: string;
|
|
22
33
|
};
|
|
23
34
|
}
|
|
24
35
|
export declare class OpenId4VcVerifierModuleConfig {
|
|
@@ -26,6 +37,18 @@ export declare class OpenId4VcVerifierModuleConfig {
|
|
|
26
37
|
readonly router: Router;
|
|
27
38
|
constructor(options: OpenId4VcVerifierModuleConfigOptions);
|
|
28
39
|
get baseUrl(): string;
|
|
29
|
-
|
|
30
|
-
|
|
40
|
+
/**
|
|
41
|
+
* @default /authorize
|
|
42
|
+
*/
|
|
43
|
+
get authorizationRequestEndpoint(): string;
|
|
44
|
+
/**
|
|
45
|
+
* @default /authorize
|
|
46
|
+
*/
|
|
47
|
+
get authorizationEndpoint(): string;
|
|
48
|
+
/**
|
|
49
|
+
* Time in seconds after which an authorization request will expire
|
|
50
|
+
*
|
|
51
|
+
* @default 300
|
|
52
|
+
*/
|
|
53
|
+
get authorizationRequestExpiresInSeconds(): number;
|
|
31
54
|
}
|
|
@@ -10,21 +10,25 @@ class OpenId4VcVerifierModuleConfig {
|
|
|
10
10
|
get baseUrl() {
|
|
11
11
|
return this.options.baseUrl;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* @default /authorize
|
|
15
|
+
*/
|
|
13
16
|
get authorizationRequestEndpoint() {
|
|
14
|
-
|
|
15
|
-
const userOptions = this.options.endpoints?.authorizationRequest;
|
|
16
|
-
return {
|
|
17
|
-
...userOptions,
|
|
18
|
-
endpointPath: this.options.endpoints?.authorizationRequest?.endpointPath ?? '/authorization-requests',
|
|
19
|
-
};
|
|
17
|
+
return this.options.endpoints?.authorizationRequest ?? '/authorization-requests';
|
|
20
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* @default /authorize
|
|
21
|
+
*/
|
|
21
22
|
get authorizationEndpoint() {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
return this.options.endpoints?.authorization ?? '/authorize';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Time in seconds after which an authorization request will expire
|
|
27
|
+
*
|
|
28
|
+
* @default 300
|
|
29
|
+
*/
|
|
30
|
+
get authorizationRequestExpiresInSeconds() {
|
|
31
|
+
return this.options.authorizationRequestExpirationInSeconds ?? 300;
|
|
28
32
|
}
|
|
29
33
|
}
|
|
30
34
|
exports.OpenId4VcVerifierModuleConfig = OpenId4VcVerifierModuleConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4VcVerifierModuleConfig.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcVerifierModuleConfig.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"OpenId4VcVerifierModuleConfig.js","sourceRoot":"","sources":["../../src/openid4vc-verifier/OpenId4VcVerifierModuleConfig.ts"],"names":[],"mappings":";;;AAEA,6CAAgD;AAwChD,MAAa,6BAA6B;IAIxC,YAAmB,OAA6C;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAA,sBAAa,GAAE,CAAC,MAAM,EAAE,CAAA;IAC1D,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,4BAA4B;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,IAAI,yBAAyB,CAAA;IAClF,CAAC;IAED;;OAEG;IACH,IAAW,qBAAqB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,IAAI,YAAY,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACH,IAAW,oCAAoC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,uCAAuC,IAAI,GAAG,CAAA;IACpE,CAAC;CACF;AApCD,sEAoCC"}
|
package/build/openid4vc-verifier/{OpenId4VcSiopVerifierService.d.ts → OpenId4VpVerifierService.d.ts}
RENAMED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { AgentContext, Query, QueryOptions } from '@credo-ts/core';
|
|
2
|
+
import type { OpenId4VpCreateAuthorizationRequestOptions, OpenId4VpCreateAuthorizationRequestReturn, OpenId4VpCreateVerifierOptions, OpenId4VpVerifiedAuthorizationResponse, OpenId4VpVerifyAuthorizationResponseOptions } from './OpenId4VpVerifierServiceOptions';
|
|
3
3
|
import { Logger, W3cCredentialService } from '@credo-ts/core';
|
|
4
|
-
import { OpenId4VcSiopAuthorizationResponsePayload } from '../shared/index';
|
|
5
4
|
import { OpenId4VcVerificationSessionState } from './OpenId4VcVerificationSessionState';
|
|
6
5
|
import { OpenId4VcVerifierModuleConfig } from './OpenId4VcVerifierModuleConfig';
|
|
7
6
|
import { OpenId4VcVerificationSessionRecord, OpenId4VcVerificationSessionRepository, OpenId4VcVerifierRecord, OpenId4VcVerifierRepository } from './repository';
|
|
8
7
|
/**
|
|
9
8
|
* @internal
|
|
10
9
|
*/
|
|
11
|
-
export declare class
|
|
10
|
+
export declare class OpenId4VpVerifierService {
|
|
12
11
|
private logger;
|
|
13
12
|
private w3cCredentialService;
|
|
14
13
|
private openId4VcVerifierRepository;
|
|
@@ -16,48 +15,33 @@ export declare class OpenId4VcSiopVerifierService {
|
|
|
16
15
|
private openId4VcVerificationSessionRepository;
|
|
17
16
|
constructor(logger: Logger, w3cCredentialService: W3cCredentialService, openId4VcVerifierRepository: OpenId4VcVerifierRepository, config: OpenId4VcVerifierModuleConfig, openId4VcVerificationSessionRepository: OpenId4VcVerificationSessionRepository);
|
|
18
17
|
private getOpenid4vpVerifier;
|
|
19
|
-
createAuthorizationRequest(agentContext: AgentContext, options:
|
|
18
|
+
createAuthorizationRequest(agentContext: AgentContext, options: OpenId4VpCreateAuthorizationRequestOptions & {
|
|
20
19
|
verifier: OpenId4VcVerifierRecord;
|
|
21
|
-
}): Promise<
|
|
20
|
+
}): Promise<OpenId4VpCreateAuthorizationRequestReturn>;
|
|
22
21
|
private getDcqlVerifiedResponse;
|
|
23
22
|
private parseAuthorizationResponse;
|
|
24
|
-
verifyAuthorizationResponse(agentContext: AgentContext, options:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
verifyAuthorizationResponse(agentContext: AgentContext, options: OpenId4VpVerifyAuthorizationResponseOptions & {
|
|
24
|
+
/**
|
|
25
|
+
* The verification session associated with the response
|
|
26
|
+
*/
|
|
28
27
|
verificationSession: OpenId4VcVerificationSessionRecord;
|
|
29
|
-
|
|
30
|
-
})): Promise<OpenId4VcSiopVerifiedAuthorizationResponse & {
|
|
31
|
-
verificationSession: OpenId4VcVerificationSessionRecord;
|
|
32
|
-
}>;
|
|
33
|
-
getVerifiedAuthorizationResponse(agentContext: AgentContext, verificationSession: OpenId4VcVerificationSessionRecord): Promise<OpenId4VcSiopVerifiedAuthorizationResponse>;
|
|
28
|
+
}): Promise<OpenId4VpVerifiedAuthorizationResponse>;
|
|
34
29
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
30
|
+
* Get the format based on an encoded presentation. This is mostly leveraged for
|
|
31
|
+
* PEX where it's not known based on the request which format to expect
|
|
37
32
|
*/
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
state?: string;
|
|
42
|
-
nonce?: string;
|
|
43
|
-
};
|
|
44
|
-
verifierId?: string;
|
|
45
|
-
} | {
|
|
46
|
-
authorizationResponse: OpenId4VcSiopAuthorizationResponsePayload;
|
|
47
|
-
authorizationResponseParams?: never;
|
|
48
|
-
verifierId?: string;
|
|
49
|
-
}): Promise<OpenId4VcVerificationSessionRecord | null>;
|
|
33
|
+
private claimFormatFromEncodedPresentation;
|
|
34
|
+
getVerifiedAuthorizationResponse(agentContext: AgentContext, verificationSession: OpenId4VcVerificationSessionRecord): Promise<OpenId4VpVerifiedAuthorizationResponse>;
|
|
35
|
+
private getVerifiedTransactionData;
|
|
50
36
|
getAllVerifiers(agentContext: AgentContext): Promise<OpenId4VcVerifierRecord[]>;
|
|
51
37
|
getVerifierByVerifierId(agentContext: AgentContext, verifierId: string): Promise<OpenId4VcVerifierRecord>;
|
|
52
38
|
updateVerifier(agentContext: AgentContext, verifier: OpenId4VcVerifierRecord): Promise<void>;
|
|
53
|
-
createVerifier(agentContext: AgentContext, options?:
|
|
39
|
+
createVerifier(agentContext: AgentContext, options?: OpenId4VpCreateVerifierOptions): Promise<OpenId4VcVerifierRecord>;
|
|
54
40
|
findVerificationSessionsByQuery(agentContext: AgentContext, query: Query<OpenId4VcVerificationSessionRecord>, queryOptions?: QueryOptions): Promise<OpenId4VcVerificationSessionRecord[]>;
|
|
55
41
|
getVerificationSessionById(agentContext: AgentContext, verificationSessionId: string): Promise<OpenId4VcVerificationSessionRecord>;
|
|
56
42
|
private getClientMetadata;
|
|
57
|
-
private getPresentationFromVpTokenParseResult;
|
|
58
|
-
private getTransactionDataMeta;
|
|
59
43
|
private decodePresentation;
|
|
60
|
-
private
|
|
44
|
+
private verifyPresentation;
|
|
61
45
|
/**
|
|
62
46
|
* Update the record to a new state and emit an state changed event. Also updates the record
|
|
63
47
|
* in storage.
|