@credo-ts/openid4vc 0.6.0-pr-2195-20250223181657 → 0.6.0-pr-2195-20250225234342
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 +31 -28
- package/build/openid4vc-holder/OpenId4VcHolderApi.js +6 -4
- package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VcHolderModule.js +1 -1
- package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +3 -3
- package/build/openid4vc-holder/OpenId4VciHolderService.js +8 -8
- package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +3 -3
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +2 -2
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +24 -30
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +46 -135
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +5 -10
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +5 -5
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js +7 -7
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +2 -2
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/credentialEndpoint.js +3 -3
- package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +8 -8
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +142 -101
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +11 -17
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +2 -2
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +1 -4
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +19 -10
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +18 -6
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
- package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +3 -16
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +1 -1
- package/build/shared/callbacks.d.ts +6 -9
- package/build/shared/callbacks.js +50 -56
- package/build/shared/callbacks.js.map +1 -1
- package/build/shared/issuerMetadataUtils.d.ts +1 -1
- package/build/shared/models/OpenId4VcJwtIssuer.d.ts +2 -3
- 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 +1 -1
- package/build/shared/router/context.js +1 -1
- package/build/shared/router/context.js.map +1 -1
- package/build/shared/utils.d.ts +3 -5
- package/build/shared/utils.js +23 -21
- package/build/shared/utils.js.map +1 -1
- package/package.json +6 -7
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +0 -102
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +0 -273
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +0 -1
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.d.ts +0 -49
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +0 -164
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +0 -1
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OpenId4VcRelyingPartySessionManager = exports.AuthorizationResponseStateStatus = exports.AuthorizationRequestStateStatus = void 0;
|
|
4
|
-
const core_1 = require("@credo-ts/core");
|
|
5
|
-
const OpenId4VcVerificationSessionState_1 = require("../OpenId4VcVerificationSessionState");
|
|
6
|
-
const OpenId4VcVerificationSessionRepository_1 = require("./OpenId4VcVerificationSessionRepository");
|
|
7
|
-
const oid4vp_1 = require("@openid4vc/oid4vp");
|
|
8
|
-
var AuthorizationRequestStateStatus;
|
|
9
|
-
(function (AuthorizationRequestStateStatus) {
|
|
10
|
-
AuthorizationRequestStateStatus["CREATED"] = "created";
|
|
11
|
-
AuthorizationRequestStateStatus["SENT"] = "sent";
|
|
12
|
-
AuthorizationRequestStateStatus["RECEIVED"] = "received";
|
|
13
|
-
AuthorizationRequestStateStatus["VERIFIED"] = "verified";
|
|
14
|
-
AuthorizationRequestStateStatus["ERROR"] = "error";
|
|
15
|
-
})(AuthorizationRequestStateStatus || (exports.AuthorizationRequestStateStatus = AuthorizationRequestStateStatus = {}));
|
|
16
|
-
var AuthorizationResponseStateStatus;
|
|
17
|
-
(function (AuthorizationResponseStateStatus) {
|
|
18
|
-
AuthorizationResponseStateStatus["CREATED"] = "created";
|
|
19
|
-
AuthorizationResponseStateStatus["SENT"] = "sent";
|
|
20
|
-
AuthorizationResponseStateStatus["RECEIVED"] = "received";
|
|
21
|
-
AuthorizationResponseStateStatus["VERIFIED"] = "verified";
|
|
22
|
-
AuthorizationResponseStateStatus["ERROR"] = "error";
|
|
23
|
-
})(AuthorizationResponseStateStatus || (exports.AuthorizationResponseStateStatus = AuthorizationResponseStateStatus = {}));
|
|
24
|
-
class OpenId4VcRelyingPartySessionManager {
|
|
25
|
-
constructor(agentContext, verifierId) {
|
|
26
|
-
this.agentContext = agentContext;
|
|
27
|
-
this.verifierId = verifierId;
|
|
28
|
-
this.openId4VcVerificationSessionRepository = agentContext.dependencyManager.resolve(OpenId4VcVerificationSessionRepository_1.OpenId4VcVerificationSessionRepository);
|
|
29
|
-
}
|
|
30
|
-
async getRequestStateByCorrelationId(correlationId, errorOnNotFound) {
|
|
31
|
-
const verificationSession = await this.openId4VcVerificationSessionRepository.findById(this.agentContext, correlationId);
|
|
32
|
-
if (!verificationSession) {
|
|
33
|
-
if (errorOnNotFound)
|
|
34
|
-
throw new core_1.CredoError(`OpenID4VC Authorization request state for correlation id ${correlationId} not found`);
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
return this.getRequestStateFromSessionRecord(verificationSession);
|
|
38
|
-
}
|
|
39
|
-
async getRequestStateByNonce(nonce, errorOnNotFound) {
|
|
40
|
-
const verificationSession = await this.openId4VcVerificationSessionRepository.findSingleByQuery(this.agentContext, {
|
|
41
|
-
verifierId: this.verifierId,
|
|
42
|
-
nonce: nonce,
|
|
43
|
-
});
|
|
44
|
-
if (!verificationSession) {
|
|
45
|
-
if (errorOnNotFound)
|
|
46
|
-
throw new core_1.CredoError(`OpenID4VC Authorization request state for nonce ${nonce} not found`);
|
|
47
|
-
return undefined;
|
|
48
|
-
}
|
|
49
|
-
return this.getRequestStateFromSessionRecord(verificationSession);
|
|
50
|
-
}
|
|
51
|
-
async getRequestStateByState(state, errorOnNotFound) {
|
|
52
|
-
const verificationSession = await this.openId4VcVerificationSessionRepository.findSingleByQuery(this.agentContext, {
|
|
53
|
-
verifierId: this.verifierId,
|
|
54
|
-
payloadState: state,
|
|
55
|
-
});
|
|
56
|
-
if (!verificationSession) {
|
|
57
|
-
if (errorOnNotFound)
|
|
58
|
-
throw new core_1.CredoError(`OpenID4VC Authorization request state for state ${state} not found`);
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
return this.getRequestStateFromSessionRecord(verificationSession);
|
|
62
|
-
}
|
|
63
|
-
async getResponseStateByCorrelationId(correlationId, errorOnNotFound) {
|
|
64
|
-
const verificationSession = await this.openId4VcVerificationSessionRepository.findById(this.agentContext, correlationId);
|
|
65
|
-
const responseState = await this.getResponseStateFromSessionRecord(verificationSession);
|
|
66
|
-
if (!responseState) {
|
|
67
|
-
if (errorOnNotFound)
|
|
68
|
-
throw new core_1.CredoError(`OpenID4VC Authorization response state for correlation id ${correlationId} not found`);
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
return responseState;
|
|
72
|
-
}
|
|
73
|
-
async getResponseStateByNonce(nonce, errorOnNotFound) {
|
|
74
|
-
const verificationSession = await this.openId4VcVerificationSessionRepository.findSingleByQuery(this.agentContext, {
|
|
75
|
-
verifierId: this.verifierId,
|
|
76
|
-
nonce,
|
|
77
|
-
});
|
|
78
|
-
const responseState = await this.getResponseStateFromSessionRecord(verificationSession);
|
|
79
|
-
if (!responseState) {
|
|
80
|
-
if (errorOnNotFound)
|
|
81
|
-
throw new core_1.CredoError(`OpenID4VC Authorization response state for nonce ${nonce} not found`);
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
return responseState;
|
|
85
|
-
}
|
|
86
|
-
async getResponseStateByState(state, errorOnNotFound) {
|
|
87
|
-
const verificationSession = await this.openId4VcVerificationSessionRepository.findSingleByQuery(this.agentContext, {
|
|
88
|
-
verifierId: this.verifierId,
|
|
89
|
-
payloadState: state,
|
|
90
|
-
});
|
|
91
|
-
const responseState = await this.getResponseStateFromSessionRecord(verificationSession);
|
|
92
|
-
if (!responseState) {
|
|
93
|
-
if (errorOnNotFound)
|
|
94
|
-
throw new core_1.CredoError(`OpenID4VC Authorization response state for state ${state} not found`);
|
|
95
|
-
return undefined;
|
|
96
|
-
}
|
|
97
|
-
return responseState;
|
|
98
|
-
}
|
|
99
|
-
async getCorrelationIdByNonce(nonce, errorOnNotFound) {
|
|
100
|
-
const requestState = await this.getRequestStateByNonce(nonce, errorOnNotFound);
|
|
101
|
-
return requestState?.correlationId;
|
|
102
|
-
}
|
|
103
|
-
async getCorrelationIdByState(state, errorOnNotFound) {
|
|
104
|
-
const requestState = await this.getRequestStateByState(state, errorOnNotFound);
|
|
105
|
-
return requestState?.correlationId;
|
|
106
|
-
}
|
|
107
|
-
async deleteStateForCorrelationId() {
|
|
108
|
-
throw new Error('Method not implemented.');
|
|
109
|
-
}
|
|
110
|
-
async getRequestStateFromSessionRecord(sessionRecord) {
|
|
111
|
-
const lastUpdated = sessionRecord.updatedAt?.getTime() ?? sessionRecord.createdAt.getTime();
|
|
112
|
-
const parsed = (0, oid4vp_1.parseOpenid4vpAuthorizationRequestPayload)({ requestPayload: sessionRecord.authorizationRequestJwt });
|
|
113
|
-
if (parsed.type === 'jar') {
|
|
114
|
-
throw new core_1.CredoError('Parsed authorization request jwt as jar request.');
|
|
115
|
-
}
|
|
116
|
-
return {
|
|
117
|
-
lastUpdated,
|
|
118
|
-
timestamp: lastUpdated,
|
|
119
|
-
correlationId: sessionRecord.id,
|
|
120
|
-
// Not so nice that the session manager expects an error instance.....
|
|
121
|
-
error: sessionRecord.errorMessage ? new Error(sessionRecord.errorMessage) : undefined,
|
|
122
|
-
request: parsed.params,
|
|
123
|
-
status: sphereonAuthorizationRequestStateFromOpenId4VcVerificationState(sessionRecord.state),
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
async getResponseStateFromSessionRecord(sessionRecord) {
|
|
127
|
-
if (!sessionRecord)
|
|
128
|
-
return undefined;
|
|
129
|
-
const lastUpdated = sessionRecord.updatedAt?.getTime() ?? sessionRecord.createdAt.getTime();
|
|
130
|
-
// If we don't have the authorization response payload yet, it means we haven't
|
|
131
|
-
// received the response yet, and thus the response state does not exist yet
|
|
132
|
-
if (!sessionRecord.authorizationResponsePayload) {
|
|
133
|
-
return undefined;
|
|
134
|
-
}
|
|
135
|
-
return {
|
|
136
|
-
lastUpdated,
|
|
137
|
-
timestamp: lastUpdated,
|
|
138
|
-
correlationId: sessionRecord.id,
|
|
139
|
-
// Not so nice that the session manager expects an error instance.....
|
|
140
|
-
error: sessionRecord.errorMessage ? new Error(sessionRecord.errorMessage) : undefined,
|
|
141
|
-
response: sessionRecord.authorizationResponsePayload,
|
|
142
|
-
status: sphereonAuthorizationResponseStateFromOpenId4VcVerificationState(sessionRecord.state),
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
exports.OpenId4VcRelyingPartySessionManager = OpenId4VcRelyingPartySessionManager;
|
|
147
|
-
function sphereonAuthorizationResponseStateFromOpenId4VcVerificationState(state) {
|
|
148
|
-
if (state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.Error)
|
|
149
|
-
return AuthorizationResponseStateStatus.ERROR;
|
|
150
|
-
if (state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.ResponseVerified)
|
|
151
|
-
return AuthorizationResponseStateStatus.VERIFIED;
|
|
152
|
-
throw new core_1.CredoError(`Can not map OpenId4VcVerificationSessionState ${state} to AuthorizationResponseStateStatus`);
|
|
153
|
-
}
|
|
154
|
-
function sphereonAuthorizationRequestStateFromOpenId4VcVerificationState(state) {
|
|
155
|
-
if (state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.Error)
|
|
156
|
-
return AuthorizationRequestStateStatus.ERROR;
|
|
157
|
-
if ([OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestCreated, OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.ResponseVerified].includes(state)) {
|
|
158
|
-
return AuthorizationRequestStateStatus.CREATED;
|
|
159
|
-
}
|
|
160
|
-
if (state === OpenId4VcVerificationSessionState_1.OpenId4VcVerificationSessionState.RequestUriRetrieved)
|
|
161
|
-
return AuthorizationRequestStateStatus.SENT;
|
|
162
|
-
throw new core_1.CredoError(`Can not map OpenId4VcVerificationSessionState ${state} to AuthorizationRequestStateStatus`);
|
|
163
|
-
}
|
|
164
|
-
//# sourceMappingURL=OpenId4VcRelyingPartySessionManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4VcRelyingPartySessionManager.js","sourceRoot":"","sources":["../../../src/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.ts"],"names":[],"mappings":"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"}
|