@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth 0.34.1-feature.SSISDK.50.type.refactor.142 → 0.34.1-feature.SSISDK.50.type.refactor.176
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/index.cjs +336 -334
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +720 -29
- package/dist/index.d.ts +720 -29
- package/dist/index.js +329 -328
- package/dist/index.js.map +1 -1
- package/package.json +17 -17
- package/src/RPInstance.ts +6 -4
- package/src/agent/SIOPv2RP.ts +32 -31
- package/src/functions.ts +19 -10
- package/src/index.ts +1 -1
- package/src/types/ISIOPv2RP.ts +17 -20
package/dist/index.cjs
CHANGED
|
@@ -4,9 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
6
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
-
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
|
-
};
|
|
10
7
|
var __export = (target, all) => {
|
|
11
8
|
for (var name in all)
|
|
12
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -21,349 +18,345 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
21
18
|
};
|
|
22
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
20
|
|
|
21
|
+
// src/index.ts
|
|
22
|
+
var index_exports = {};
|
|
23
|
+
__export(index_exports, {
|
|
24
|
+
SIOPv2RP: () => SIOPv2RP,
|
|
25
|
+
VerifiedDataMode: () => VerifiedDataMode,
|
|
26
|
+
schema: () => plugin_schema_default
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(index_exports);
|
|
29
|
+
|
|
24
30
|
// plugin.schema.json
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
sessionId: {
|
|
35
|
-
type: "string"
|
|
36
|
-
},
|
|
37
|
-
additionalProperties: false
|
|
38
|
-
},
|
|
39
|
-
required: ["sessionId"],
|
|
40
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } "
|
|
31
|
+
var plugin_schema_default = {
|
|
32
|
+
IDidAuthSiopOpAuthenticator: {
|
|
33
|
+
components: {
|
|
34
|
+
schemas: {
|
|
35
|
+
IGetSiopSessionArgs: {
|
|
36
|
+
type: "object",
|
|
37
|
+
properties: {
|
|
38
|
+
sessionId: {
|
|
39
|
+
type: "string"
|
|
41
40
|
},
|
|
42
|
-
|
|
41
|
+
additionalProperties: false
|
|
42
|
+
},
|
|
43
|
+
required: ["sessionId"],
|
|
44
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } "
|
|
45
|
+
},
|
|
46
|
+
IRegisterSiopSessionArgs: {
|
|
47
|
+
type: "object",
|
|
48
|
+
properties: {
|
|
49
|
+
identifier: {
|
|
43
50
|
type: "object",
|
|
44
51
|
properties: {
|
|
45
|
-
|
|
46
|
-
type: "object",
|
|
47
|
-
properties: {
|
|
48
|
-
did: {
|
|
49
|
-
type: "string"
|
|
50
|
-
},
|
|
51
|
-
alias: {
|
|
52
|
-
type: "string"
|
|
53
|
-
},
|
|
54
|
-
provider: {
|
|
55
|
-
type: "string"
|
|
56
|
-
},
|
|
57
|
-
controllerKeyId: {
|
|
58
|
-
type: "string"
|
|
59
|
-
},
|
|
60
|
-
keys: {
|
|
61
|
-
type: "array",
|
|
62
|
-
items: {
|
|
63
|
-
type: "object",
|
|
64
|
-
properties: {
|
|
65
|
-
additionalProperties: true
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
services: {
|
|
70
|
-
type: "array",
|
|
71
|
-
items: {
|
|
72
|
-
type: "object",
|
|
73
|
-
properties: {
|
|
74
|
-
additionalProperties: true
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
additionalProperties: false,
|
|
80
|
-
required: ["did", "provider", "keys", "services"]
|
|
81
|
-
},
|
|
82
|
-
sessionId: {
|
|
52
|
+
did: {
|
|
83
53
|
type: "string"
|
|
84
54
|
},
|
|
85
|
-
|
|
86
|
-
type: "number"
|
|
87
|
-
},
|
|
88
|
-
additionalProperties: false
|
|
89
|
-
},
|
|
90
|
-
required: ["identifier"],
|
|
91
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.registerSessionForSiop } "
|
|
92
|
-
},
|
|
93
|
-
IRemoveSiopSessionArgs: {
|
|
94
|
-
type: "object",
|
|
95
|
-
properties: {
|
|
96
|
-
sessionId: {
|
|
55
|
+
alias: {
|
|
97
56
|
type: "string"
|
|
98
57
|
},
|
|
99
|
-
|
|
100
|
-
},
|
|
101
|
-
required: ["sessionId"],
|
|
102
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.removeSessionForSiop } "
|
|
103
|
-
},
|
|
104
|
-
IAuthenticateWithSiopArgs: {
|
|
105
|
-
type: "object",
|
|
106
|
-
properties: {
|
|
107
|
-
sessionId: {
|
|
58
|
+
provider: {
|
|
108
59
|
type: "string"
|
|
109
60
|
},
|
|
110
|
-
|
|
61
|
+
controllerKeyId: {
|
|
111
62
|
type: "string"
|
|
112
63
|
},
|
|
113
|
-
|
|
114
|
-
type: "
|
|
64
|
+
keys: {
|
|
65
|
+
type: "array",
|
|
66
|
+
items: {
|
|
67
|
+
type: "object",
|
|
68
|
+
properties: {
|
|
69
|
+
additionalProperties: true
|
|
70
|
+
}
|
|
71
|
+
}
|
|
115
72
|
},
|
|
116
|
-
|
|
73
|
+
services: {
|
|
74
|
+
type: "array",
|
|
75
|
+
items: {
|
|
76
|
+
type: "object",
|
|
77
|
+
properties: {
|
|
78
|
+
additionalProperties: true
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
117
82
|
},
|
|
118
|
-
|
|
119
|
-
|
|
83
|
+
additionalProperties: false,
|
|
84
|
+
required: ["did", "provider", "keys", "services"]
|
|
85
|
+
},
|
|
86
|
+
sessionId: {
|
|
87
|
+
type: "string"
|
|
88
|
+
},
|
|
89
|
+
expiresIn: {
|
|
90
|
+
type: "number"
|
|
91
|
+
},
|
|
92
|
+
additionalProperties: false
|
|
93
|
+
},
|
|
94
|
+
required: ["identifier"],
|
|
95
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.registerSessionForSiop } "
|
|
96
|
+
},
|
|
97
|
+
IRemoveSiopSessionArgs: {
|
|
98
|
+
type: "object",
|
|
99
|
+
properties: {
|
|
100
|
+
sessionId: {
|
|
101
|
+
type: "string"
|
|
102
|
+
},
|
|
103
|
+
additionalProperties: false
|
|
104
|
+
},
|
|
105
|
+
required: ["sessionId"],
|
|
106
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.removeSessionForSiop } "
|
|
107
|
+
},
|
|
108
|
+
IAuthenticateWithSiopArgs: {
|
|
109
|
+
type: "object",
|
|
110
|
+
properties: {
|
|
111
|
+
sessionId: {
|
|
112
|
+
type: "string"
|
|
113
|
+
},
|
|
114
|
+
stateId: {
|
|
115
|
+
type: "string"
|
|
116
|
+
},
|
|
117
|
+
redirectUrl: {
|
|
118
|
+
type: "string"
|
|
119
|
+
},
|
|
120
|
+
additionalProperties: false
|
|
121
|
+
},
|
|
122
|
+
required: ["sessionId", "stateId", "redirectUrl"],
|
|
123
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.authenticateWithSiop } "
|
|
124
|
+
},
|
|
125
|
+
IResponse: {
|
|
126
|
+
type: "object",
|
|
127
|
+
properties: {
|
|
128
|
+
status: {
|
|
129
|
+
type: "number"
|
|
130
|
+
},
|
|
131
|
+
additionalProperties: true
|
|
132
|
+
},
|
|
133
|
+
required: ["status"],
|
|
134
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.authenticateWithSiop & DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
135
|
+
},
|
|
136
|
+
IGetSiopAuthenticationRequestFromRpArgs: {
|
|
137
|
+
type: "object",
|
|
138
|
+
properties: {
|
|
139
|
+
sessionId: {
|
|
140
|
+
type: "string"
|
|
120
141
|
},
|
|
121
|
-
|
|
142
|
+
stateId: {
|
|
143
|
+
type: "string"
|
|
144
|
+
},
|
|
145
|
+
redirectUrl: {
|
|
146
|
+
type: "string"
|
|
147
|
+
},
|
|
148
|
+
additionalProperties: false
|
|
149
|
+
},
|
|
150
|
+
required: ["sessionId", "stateId", "redirectUrl"],
|
|
151
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } "
|
|
152
|
+
},
|
|
153
|
+
ParsedAuthenticationRequestURI: {
|
|
154
|
+
type: "object",
|
|
155
|
+
properties: {
|
|
156
|
+
jwt: {
|
|
157
|
+
type: "string"
|
|
158
|
+
},
|
|
159
|
+
requestPayload: {
|
|
122
160
|
type: "object",
|
|
123
161
|
properties: {
|
|
124
|
-
status: {
|
|
125
|
-
type: "number"
|
|
126
|
-
},
|
|
127
162
|
additionalProperties: true
|
|
128
|
-
}
|
|
129
|
-
required: ["status"],
|
|
130
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.authenticateWithSiop & DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
163
|
+
}
|
|
131
164
|
},
|
|
132
|
-
|
|
165
|
+
registration: {
|
|
133
166
|
type: "object",
|
|
134
167
|
properties: {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
},
|
|
138
|
-
stateId: {
|
|
139
|
-
type: "string"
|
|
140
|
-
},
|
|
141
|
-
redirectUrl: {
|
|
142
|
-
type: "string"
|
|
143
|
-
},
|
|
144
|
-
additionalProperties: false
|
|
145
|
-
},
|
|
146
|
-
required: ["sessionId", "stateId", "redirectUrl"],
|
|
147
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } "
|
|
168
|
+
additionalProperties: true
|
|
169
|
+
}
|
|
148
170
|
},
|
|
149
|
-
|
|
171
|
+
additionalProperties: false
|
|
172
|
+
},
|
|
173
|
+
required: ["jwt", "requestPayload", "registration"],
|
|
174
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } "
|
|
175
|
+
},
|
|
176
|
+
IGetSiopAuthenticationRequestDetailsArgs: {
|
|
177
|
+
type: "object",
|
|
178
|
+
properties: {
|
|
179
|
+
sessionId: {
|
|
180
|
+
type: "string"
|
|
181
|
+
},
|
|
182
|
+
verifiedAuthenticationRequest: {
|
|
150
183
|
type: "object",
|
|
151
184
|
properties: {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
},
|
|
155
|
-
requestPayload: {
|
|
156
|
-
type: "object",
|
|
157
|
-
properties: {
|
|
158
|
-
additionalProperties: true
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
registration: {
|
|
162
|
-
type: "object",
|
|
163
|
-
properties: {
|
|
164
|
-
additionalProperties: true
|
|
165
|
-
}
|
|
166
|
-
},
|
|
167
|
-
additionalProperties: false
|
|
168
|
-
},
|
|
169
|
-
required: ["jwt", "requestPayload", "registration"],
|
|
170
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } "
|
|
185
|
+
additionalProperties: true
|
|
186
|
+
}
|
|
171
187
|
},
|
|
172
|
-
|
|
188
|
+
credentialFilter: {
|
|
173
189
|
type: "object",
|
|
174
190
|
properties: {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
},
|
|
178
|
-
verifiedAuthenticationRequest: {
|
|
179
|
-
type: "object",
|
|
180
|
-
properties: {
|
|
181
|
-
additionalProperties: true
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
credentialFilter: {
|
|
185
|
-
type: "object",
|
|
186
|
-
properties: {
|
|
187
|
-
additionalProperties: true
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
additionalProperties: false
|
|
191
|
-
},
|
|
192
|
-
required: ["sessionId", "verifiedAuthenticationRequest"],
|
|
193
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } "
|
|
191
|
+
additionalProperties: true
|
|
192
|
+
}
|
|
194
193
|
},
|
|
195
|
-
|
|
194
|
+
additionalProperties: false
|
|
195
|
+
},
|
|
196
|
+
required: ["sessionId", "verifiedAuthenticationRequest"],
|
|
197
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } "
|
|
198
|
+
},
|
|
199
|
+
IAuthRequestDetails: {
|
|
200
|
+
type: "object",
|
|
201
|
+
properties: {
|
|
202
|
+
id: {
|
|
203
|
+
type: "string"
|
|
204
|
+
},
|
|
205
|
+
alsoKnownAs: {
|
|
206
|
+
type: "array",
|
|
207
|
+
items: {
|
|
208
|
+
type: "string"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
vpResponseOpts: {
|
|
196
212
|
type: "object",
|
|
197
213
|
properties: {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
212
|
-
},
|
|
213
|
-
additionalProperties: false
|
|
214
|
-
},
|
|
215
|
-
required: ["id", "vpResponseOpts"],
|
|
216
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } "
|
|
214
|
+
additionalProperties: true
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
additionalProperties: false
|
|
218
|
+
},
|
|
219
|
+
required: ["id", "vpResponseOpts"],
|
|
220
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } "
|
|
221
|
+
},
|
|
222
|
+
IVerifySiopAuthenticationRequestUriArgs: {
|
|
223
|
+
type: "object",
|
|
224
|
+
properties: {
|
|
225
|
+
sessionId: {
|
|
226
|
+
type: "string"
|
|
217
227
|
},
|
|
218
|
-
|
|
228
|
+
ParsedAuthenticationRequestURI: {
|
|
219
229
|
type: "object",
|
|
220
230
|
properties: {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
},
|
|
224
|
-
ParsedAuthenticationRequestURI: {
|
|
225
|
-
type: "object",
|
|
226
|
-
properties: {
|
|
227
|
-
additionalProperties: true
|
|
228
|
-
}
|
|
229
|
-
},
|
|
230
|
-
additionalProperties: false
|
|
231
|
-
},
|
|
232
|
-
required: ["sessionId", "ParsedAuthenticationRequestURI"],
|
|
233
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
231
|
+
additionalProperties: true
|
|
232
|
+
}
|
|
234
233
|
},
|
|
235
|
-
|
|
234
|
+
additionalProperties: false
|
|
235
|
+
},
|
|
236
|
+
required: ["sessionId", "ParsedAuthenticationRequestURI"],
|
|
237
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
238
|
+
},
|
|
239
|
+
VerifiedAuthorizationRequest: {
|
|
240
|
+
type: "object",
|
|
241
|
+
properties: {
|
|
242
|
+
payload: {
|
|
236
243
|
type: "object",
|
|
237
244
|
properties: {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
properties: {
|
|
241
|
-
additionalProperties: true
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
presentationDefinitions: {
|
|
245
|
-
type: "object",
|
|
246
|
-
properties: {
|
|
247
|
-
additionalProperties: true
|
|
248
|
-
}
|
|
249
|
-
},
|
|
250
|
-
verifyOpts: {
|
|
251
|
-
type: "object",
|
|
252
|
-
properties: {
|
|
253
|
-
additionalProperties: true
|
|
254
|
-
}
|
|
255
|
-
},
|
|
256
|
-
additionalProperties: false
|
|
257
|
-
},
|
|
258
|
-
required: ["payload", "verifyOpts"],
|
|
259
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
245
|
+
additionalProperties: true
|
|
246
|
+
}
|
|
260
247
|
},
|
|
261
|
-
|
|
248
|
+
presentationDefinitions: {
|
|
262
249
|
type: "object",
|
|
263
250
|
properties: {
|
|
264
|
-
|
|
265
|
-
type: "string"
|
|
266
|
-
},
|
|
267
|
-
verifiedAuthenticationRequest: {
|
|
268
|
-
type: "object",
|
|
269
|
-
properties: {
|
|
270
|
-
additionalProperties: true
|
|
271
|
-
}
|
|
272
|
-
},
|
|
273
|
-
verifiablePresentationResponse: {
|
|
274
|
-
type: "object",
|
|
275
|
-
properties: {
|
|
276
|
-
additionalProperties: true
|
|
277
|
-
}
|
|
278
|
-
},
|
|
279
|
-
additionalProperties: false
|
|
280
|
-
},
|
|
281
|
-
required: ["sessionId", "verifiedAuthenticationRequest"],
|
|
282
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
283
|
-
}
|
|
284
|
-
},
|
|
285
|
-
methods: {
|
|
286
|
-
getSessionForSiop: {
|
|
287
|
-
description: "Get SIOP session",
|
|
288
|
-
arguments: {
|
|
289
|
-
$ref: "#/components/schemas/IGetSiopSessionArgs"
|
|
290
|
-
},
|
|
291
|
-
returnType: "object"
|
|
292
|
-
},
|
|
293
|
-
registerSessionForSiop: {
|
|
294
|
-
description: "Register SIOP session",
|
|
295
|
-
arguments: {
|
|
296
|
-
$ref: "#/components/schemas/IRegisterSiopSessionArgs"
|
|
297
|
-
},
|
|
298
|
-
returnType: "object"
|
|
299
|
-
},
|
|
300
|
-
removeSessionForSiop: {
|
|
301
|
-
description: "Remove SIOP session",
|
|
302
|
-
arguments: {
|
|
303
|
-
$ref: "#/components/schemas/IRemoveSiopSessionArgs"
|
|
304
|
-
},
|
|
305
|
-
returnType: "boolean"
|
|
306
|
-
},
|
|
307
|
-
authenticateWithSiop: {
|
|
308
|
-
description: "Authenticate using DID Auth SIOP",
|
|
309
|
-
arguments: {
|
|
310
|
-
$ref: "#/components/schemas/IAuthenticateWithSiopArgs"
|
|
311
|
-
},
|
|
312
|
-
returnType: {
|
|
313
|
-
$ref: "#/components/schemas/Response"
|
|
251
|
+
additionalProperties: true
|
|
314
252
|
}
|
|
315
253
|
},
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
},
|
|
321
|
-
returnType: {
|
|
322
|
-
$ref: "#/components/schemas/ParsedAuthenticationRequestURI"
|
|
254
|
+
verifyOpts: {
|
|
255
|
+
type: "object",
|
|
256
|
+
properties: {
|
|
257
|
+
additionalProperties: true
|
|
323
258
|
}
|
|
324
259
|
},
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
260
|
+
additionalProperties: false
|
|
261
|
+
},
|
|
262
|
+
required: ["payload", "verifyOpts"],
|
|
263
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
264
|
+
},
|
|
265
|
+
ISendSiopAuthenticationResponseArgs: {
|
|
266
|
+
type: "object",
|
|
267
|
+
properties: {
|
|
268
|
+
sessionId: {
|
|
269
|
+
type: "string"
|
|
333
270
|
},
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
},
|
|
339
|
-
returnType: {
|
|
340
|
-
$ref: "#/components/schemas/VerifiedAuthorizationRequest"
|
|
271
|
+
verifiedAuthenticationRequest: {
|
|
272
|
+
type: "object",
|
|
273
|
+
properties: {
|
|
274
|
+
additionalProperties: true
|
|
341
275
|
}
|
|
342
276
|
},
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
},
|
|
348
|
-
returnType: {
|
|
349
|
-
$ref: "#/components/schemas/IRequiredContext"
|
|
277
|
+
verifiablePresentationResponse: {
|
|
278
|
+
type: "object",
|
|
279
|
+
properties: {
|
|
280
|
+
additionalProperties: true
|
|
350
281
|
}
|
|
351
|
-
}
|
|
282
|
+
},
|
|
283
|
+
additionalProperties: false
|
|
284
|
+
},
|
|
285
|
+
required: ["sessionId", "verifiedAuthenticationRequest"],
|
|
286
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
methods: {
|
|
290
|
+
getSessionForSiop: {
|
|
291
|
+
description: "Get SIOP session",
|
|
292
|
+
arguments: {
|
|
293
|
+
$ref: "#/components/schemas/IGetSiopSessionArgs"
|
|
294
|
+
},
|
|
295
|
+
returnType: "object"
|
|
296
|
+
},
|
|
297
|
+
registerSessionForSiop: {
|
|
298
|
+
description: "Register SIOP session",
|
|
299
|
+
arguments: {
|
|
300
|
+
$ref: "#/components/schemas/IRegisterSiopSessionArgs"
|
|
301
|
+
},
|
|
302
|
+
returnType: "object"
|
|
303
|
+
},
|
|
304
|
+
removeSessionForSiop: {
|
|
305
|
+
description: "Remove SIOP session",
|
|
306
|
+
arguments: {
|
|
307
|
+
$ref: "#/components/schemas/IRemoveSiopSessionArgs"
|
|
308
|
+
},
|
|
309
|
+
returnType: "boolean"
|
|
310
|
+
},
|
|
311
|
+
authenticateWithSiop: {
|
|
312
|
+
description: "Authenticate using DID Auth SIOP",
|
|
313
|
+
arguments: {
|
|
314
|
+
$ref: "#/components/schemas/IAuthenticateWithSiopArgs"
|
|
315
|
+
},
|
|
316
|
+
returnType: {
|
|
317
|
+
$ref: "#/components/schemas/Response"
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
getSiopAuthenticationRequestFromRP: {
|
|
321
|
+
description: "Get authentication request from RP",
|
|
322
|
+
arguments: {
|
|
323
|
+
$ref: "#/components/schemas/IGetSiopAuthenticationRequestFromRpArgs"
|
|
324
|
+
},
|
|
325
|
+
returnType: {
|
|
326
|
+
$ref: "#/components/schemas/ParsedAuthenticationRequestURI"
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
getSiopAuthenticationRequestDetails: {
|
|
330
|
+
description: "Get authentication request details",
|
|
331
|
+
arguments: {
|
|
332
|
+
$ref: "#/components/schemas/IGetSiopAuthenticationRequestDetailsArgs"
|
|
333
|
+
},
|
|
334
|
+
returnType: {
|
|
335
|
+
$ref: "#/components/schemas/IAuthRequestDetails"
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
verifySiopAuthenticationRequestURI: {
|
|
339
|
+
description: "Verify authentication request URI",
|
|
340
|
+
arguments: {
|
|
341
|
+
$ref: "#/components/schemas/IVerifySiopAuthenticationRequestUriArgs"
|
|
342
|
+
},
|
|
343
|
+
returnType: {
|
|
344
|
+
$ref: "#/components/schemas/VerifiedAuthorizationRequest"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
sendSiopAuthenticationResponse: {
|
|
348
|
+
description: "Send authentication response",
|
|
349
|
+
arguments: {
|
|
350
|
+
$ref: "#/components/schemas/ISendSiopAuthenticationResponseArgs"
|
|
351
|
+
},
|
|
352
|
+
returnType: {
|
|
353
|
+
$ref: "#/components/schemas/IRequiredContext"
|
|
352
354
|
}
|
|
353
355
|
}
|
|
354
356
|
}
|
|
355
|
-
}
|
|
357
|
+
}
|
|
356
358
|
}
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
// src/index.ts
|
|
360
|
-
var index_exports = {};
|
|
361
|
-
__export(index_exports, {
|
|
362
|
-
SIOPv2RP: () => SIOPv2RP,
|
|
363
|
-
VerifiedDataMode: () => VerifiedDataMode,
|
|
364
|
-
schema: () => schema
|
|
365
|
-
});
|
|
366
|
-
module.exports = __toCommonJS(index_exports);
|
|
359
|
+
};
|
|
367
360
|
|
|
368
361
|
// src/agent/SIOPv2RP.ts
|
|
369
362
|
var import_did_auth_siop2 = require("@sphereon/did-auth-siop");
|
|
@@ -442,11 +435,11 @@ async function createRPBuilder(args) {
|
|
|
442
435
|
const { identifierOpts } = rpOpts;
|
|
443
436
|
let definition = args.definition;
|
|
444
437
|
let dcqlQuery = args.dcql;
|
|
445
|
-
if (!definition && pexOpts && pexOpts.
|
|
438
|
+
if (!definition && pexOpts && pexOpts.queryId) {
|
|
446
439
|
const presentationDefinitionItems = await context.agent.pdmGetDefinitions({
|
|
447
440
|
filter: [
|
|
448
441
|
{
|
|
449
|
-
|
|
442
|
+
queryId: pexOpts.queryId,
|
|
450
443
|
version: pexOpts.version,
|
|
451
444
|
tenantId: pexOpts.tenantId
|
|
452
445
|
}
|
|
@@ -454,9 +447,8 @@ async function createRPBuilder(args) {
|
|
|
454
447
|
});
|
|
455
448
|
if (presentationDefinitionItems.length > 0) {
|
|
456
449
|
const presentationDefinitionItem = presentationDefinitionItems[0];
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
dcqlQuery = presentationDefinitionItem.dcqlQuery;
|
|
450
|
+
if (!dcqlQuery && presentationDefinitionItem.dcqlPayload) {
|
|
451
|
+
dcqlQuery = presentationDefinitionItem.dcqlPayload.dcqlQuery;
|
|
460
452
|
}
|
|
461
453
|
}
|
|
462
454
|
}
|
|
@@ -529,7 +521,9 @@ async function createRPBuilder(args) {
|
|
|
529
521
|
builder.withEntityId(oidfOpts.identifier, import_did_auth_siop.PropertyTarget.REQUEST_OBJECT);
|
|
530
522
|
} else {
|
|
531
523
|
const resolution = await context.agent.identifierManagedGet(identifierOpts.idOpts);
|
|
532
|
-
|
|
524
|
+
const clientId = rpOpts.clientMetadataOpts?.client_id ?? resolution.issuer ?? ((0, import_ssi_sdk_ext2.isManagedIdentifierDidResult)(resolution) ? resolution.did : resolution.jwkThumbprint);
|
|
525
|
+
const clientIdPrefixed = prefixClientId(clientId);
|
|
526
|
+
builder.withClientId(clientIdPrefixed, import_did_auth_siop.PropertyTarget.REQUEST_OBJECT);
|
|
533
527
|
}
|
|
534
528
|
if (hasher) {
|
|
535
529
|
builder.withHasher(hasher);
|
|
@@ -593,6 +587,13 @@ function getSigningAlgo(type) {
|
|
|
593
587
|
}
|
|
594
588
|
}
|
|
595
589
|
__name(getSigningAlgo, "getSigningAlgo");
|
|
590
|
+
function prefixClientId(clientId) {
|
|
591
|
+
if (clientId.startsWith("did:")) {
|
|
592
|
+
return `${import_did_auth_siop.ClientIdentifierPrefix.DECENTRALIZED_IDENTIFIER}:${clientId}`;
|
|
593
|
+
}
|
|
594
|
+
return clientId;
|
|
595
|
+
}
|
|
596
|
+
__name(prefixClientId, "prefixClientId");
|
|
596
597
|
|
|
597
598
|
// src/RPInstance.ts
|
|
598
599
|
var import_uuid = require("uuid");
|
|
@@ -629,7 +630,7 @@ var RPInstance = class {
|
|
|
629
630
|
return this.definitionId !== void 0;
|
|
630
631
|
}
|
|
631
632
|
get definitionId() {
|
|
632
|
-
return this.pexOptions?.
|
|
633
|
+
return this.pexOptions?.queryId;
|
|
633
634
|
}
|
|
634
635
|
async getPresentationDefinition(context) {
|
|
635
636
|
return this.definitionId ? await context.agent.pexStoreGetDefinition({
|
|
@@ -638,7 +639,7 @@ var RPInstance = class {
|
|
|
638
639
|
}) : void 0;
|
|
639
640
|
}
|
|
640
641
|
async createAuthorizationRequestURI(createArgs, context) {
|
|
641
|
-
const { correlationId, claims, requestByReferenceURI, responseURI, responseURIType } = createArgs;
|
|
642
|
+
const { correlationId, queryId, claims, requestByReferenceURI, responseURI, responseURIType, callback } = createArgs;
|
|
642
643
|
const nonce = createArgs.nonce ?? (0, import_uuid.v4)();
|
|
643
644
|
const state = createArgs.state ?? correlationId;
|
|
644
645
|
let jwtIssuer;
|
|
@@ -666,13 +667,15 @@ var RPInstance = class {
|
|
|
666
667
|
return await this.get(context).then((rp) => rp.createAuthorizationRequestURI({
|
|
667
668
|
version: getRequestVersion(this.rpOptions),
|
|
668
669
|
correlationId,
|
|
670
|
+
queryId,
|
|
669
671
|
nonce,
|
|
670
672
|
state,
|
|
671
673
|
claims,
|
|
672
674
|
requestByReferenceURI,
|
|
673
675
|
responseURI,
|
|
674
676
|
responseURIType,
|
|
675
|
-
jwtIssuer
|
|
677
|
+
jwtIssuer,
|
|
678
|
+
callback
|
|
676
679
|
}));
|
|
677
680
|
}
|
|
678
681
|
async createAuthorizationRequest(createArgs, context) {
|
|
@@ -720,7 +723,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
720
723
|
opts;
|
|
721
724
|
static _DEFAULT_OPTS_KEY = "_default";
|
|
722
725
|
instances = /* @__PURE__ */ new Map();
|
|
723
|
-
schema =
|
|
726
|
+
schema = plugin_schema_default.IDidAuthSiopOpAuthenticator;
|
|
724
727
|
methods = {
|
|
725
728
|
siopCreateAuthRequestURI: this.createAuthorizationRequestURI.bind(this),
|
|
726
729
|
siopCreateAuthRequestPayloads: this.createAuthorizationRequestPayloads.bind(this),
|
|
@@ -750,30 +753,32 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
750
753
|
}
|
|
751
754
|
async createAuthorizationRequestURI(createArgs, context) {
|
|
752
755
|
return await this.getRPInstance({
|
|
753
|
-
|
|
754
|
-
|
|
756
|
+
responseRedirectURI: createArgs.responseRedirectURI,
|
|
757
|
+
...createArgs.useQueryIdInstance === true && {
|
|
758
|
+
queryId: createArgs.queryId
|
|
759
|
+
}
|
|
755
760
|
}, context).then((rp) => rp.createAuthorizationRequestURI(createArgs, context)).then((URI) => URI.encodedUri);
|
|
756
761
|
}
|
|
757
762
|
async createAuthorizationRequestPayloads(createArgs, context) {
|
|
758
763
|
return await this.getRPInstance({
|
|
759
|
-
|
|
764
|
+
queryId: createArgs.queryId
|
|
760
765
|
}, context).then((rp) => rp.createAuthorizationRequest(createArgs, context)).then(async (request) => {
|
|
761
766
|
const authRequest = {
|
|
762
767
|
authorizationRequest: request.payload,
|
|
763
768
|
requestObject: await request.requestObjectJwt(),
|
|
764
|
-
requestObjectDecoded:
|
|
769
|
+
requestObjectDecoded: request.requestObject?.getPayload()
|
|
765
770
|
};
|
|
766
771
|
return authRequest;
|
|
767
772
|
});
|
|
768
773
|
}
|
|
769
774
|
async siopGetRequestState(args, context) {
|
|
770
775
|
return await this.getRPInstance({
|
|
771
|
-
|
|
776
|
+
queryId: args.queryId
|
|
772
777
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.sessionManager.getRequestStateByCorrelationId(args.correlationId, args.errorOnNotFound)));
|
|
773
778
|
}
|
|
774
779
|
async siopGetResponseState(args, context) {
|
|
775
780
|
const rpInstance = await this.getRPInstance({
|
|
776
|
-
|
|
781
|
+
queryId: args.queryId
|
|
777
782
|
}, context);
|
|
778
783
|
const authorizationResponseState = await rpInstance.get(context).then((rp) => rp.sessionManager.getResponseStateByCorrelationId(args.correlationId, args.errorOnNotFound));
|
|
779
784
|
if (authorizationResponseState === void 0) {
|
|
@@ -826,11 +831,11 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
826
831
|
}
|
|
827
832
|
presentationOrClaimsFrom = /* @__PURE__ */ __name((presentationDecoded) => import_ssi_types2.CredentialMapper.isSdJwtDecodedCredential(presentationDecoded) ? presentationDecoded.decodedPayload : import_ssi_types2.CredentialMapper.toUniformPresentation(presentationDecoded), "presentationOrClaimsFrom");
|
|
828
833
|
async siopUpdateRequestState(args, context) {
|
|
829
|
-
if (args.state !== "
|
|
830
|
-
throw Error(`Only '
|
|
834
|
+
if (args.state !== "authorization_request_created") {
|
|
835
|
+
throw Error(`Only 'authorization_request_created' status is supported for this method at this point`);
|
|
831
836
|
}
|
|
832
837
|
return await this.getRPInstance({
|
|
833
|
-
|
|
838
|
+
queryId: args.queryId
|
|
834
839
|
}, context).then((rp) => rp.get(context).then(async (rp2) => {
|
|
835
840
|
await rp2.signalAuthRequestRetrieved({
|
|
836
841
|
correlationId: args.correlationId,
|
|
@@ -841,7 +846,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
841
846
|
}
|
|
842
847
|
async siopDeleteState(args, context) {
|
|
843
848
|
return await this.getRPInstance({
|
|
844
|
-
|
|
849
|
+
queryId: args.queryId
|
|
845
850
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.sessionManager.deleteStateForCorrelationId(args.correlationId))).then(() => true);
|
|
846
851
|
}
|
|
847
852
|
async siopVerifyAuthResponse(args, context) {
|
|
@@ -850,7 +855,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
850
855
|
}
|
|
851
856
|
const authResponse = typeof args.authorizationResponse === "string" ? (0, import_did_auth_siop2.decodeUriAsJson)(args.authorizationResponse) : args.authorizationResponse;
|
|
852
857
|
return await this.getRPInstance({
|
|
853
|
-
|
|
858
|
+
queryId: args.queryId
|
|
854
859
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.verifyAuthorizationResponse(authResponse, {
|
|
855
860
|
correlationId: args.correlationId,
|
|
856
861
|
...args.dcqlQuery ? {
|
|
@@ -862,14 +867,14 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
862
867
|
async siopImportDefinitions(args, context) {
|
|
863
868
|
const { importItems, tenantId, version, versionControlMode } = args;
|
|
864
869
|
await Promise.all(importItems.map(async (importItem) => {
|
|
865
|
-
import_dcql.DcqlQuery.validate(importItem.
|
|
870
|
+
import_dcql.DcqlQuery.validate(importItem.query);
|
|
866
871
|
console.log(`persisting DCQL definition ${importItem.queryId} with versionControlMode ${versionControlMode}`);
|
|
867
872
|
return context.agent.pdmPersistDefinition({
|
|
868
873
|
definitionItem: {
|
|
869
|
-
|
|
874
|
+
queryId: importItem.queryId,
|
|
870
875
|
tenantId,
|
|
871
876
|
version,
|
|
872
|
-
|
|
877
|
+
query: importItem.query
|
|
873
878
|
},
|
|
874
879
|
opts: {
|
|
875
880
|
versionControlMode
|
|
@@ -878,7 +883,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
878
883
|
}));
|
|
879
884
|
}
|
|
880
885
|
async siopGetRedirectURI(args, context) {
|
|
881
|
-
const instanceId = args.
|
|
886
|
+
const instanceId = args.queryId ?? _SIOPv2RP._DEFAULT_OPTS_KEY;
|
|
882
887
|
if (this.instances.has(instanceId)) {
|
|
883
888
|
const rpInstance = this.instances.get(instanceId);
|
|
884
889
|
if (rpInstance !== void 0) {
|
|
@@ -894,12 +899,12 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
894
899
|
}
|
|
895
900
|
return void 0;
|
|
896
901
|
}
|
|
897
|
-
async getRPInstance({
|
|
898
|
-
const instanceId =
|
|
902
|
+
async getRPInstance({ queryId, responseRedirectURI }, context) {
|
|
903
|
+
const instanceId = queryId ?? _SIOPv2RP._DEFAULT_OPTS_KEY;
|
|
899
904
|
if (!this.instances.has(instanceId)) {
|
|
900
|
-
const instanceOpts = this.getInstanceOpts(
|
|
905
|
+
const instanceOpts = this.getInstanceOpts(queryId);
|
|
901
906
|
const rpOpts = await this.getRPOptions(context, {
|
|
902
|
-
|
|
907
|
+
queryId,
|
|
903
908
|
responseRedirectURI
|
|
904
909
|
});
|
|
905
910
|
if (!rpOpts.identifierOpts.resolveOpts?.resolver || typeof rpOpts.identifierOpts.resolveOpts.resolver.resolve !== "function") {
|
|
@@ -911,7 +916,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
911
916
|
...rpOpts.identifierOpts.resolveOpts
|
|
912
917
|
};
|
|
913
918
|
}
|
|
914
|
-
console.log("Using agent DID resolver for RP instance with definition id " +
|
|
919
|
+
console.log("Using agent DID resolver for RP instance with definition id " + queryId);
|
|
915
920
|
rpOpts.identifierOpts.resolveOpts.resolver = (0, import_ssi_sdk_ext4.getAgentResolver)(context, {
|
|
916
921
|
uniresolverResolution: true,
|
|
917
922
|
localResolution: true,
|
|
@@ -930,10 +935,10 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
930
935
|
return rpInstance;
|
|
931
936
|
}
|
|
932
937
|
async getRPOptions(context, opts) {
|
|
933
|
-
const {
|
|
934
|
-
const options = this.getInstanceOpts(
|
|
938
|
+
const { queryId, responseRedirectURI } = opts;
|
|
939
|
+
const options = this.getInstanceOpts(queryId)?.rpOpts ?? this.opts.defaultOpts;
|
|
935
940
|
if (!options) {
|
|
936
|
-
throw Error(`Could not get specific nor default options for definition ${
|
|
941
|
+
throw Error(`Could not get specific nor default options for definition ${queryId}`);
|
|
937
942
|
}
|
|
938
943
|
if (this.opts.defaultOpts) {
|
|
939
944
|
if (!options.identifierOpts) {
|
|
@@ -967,18 +972,18 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
967
972
|
}
|
|
968
973
|
getInstanceOpts(definitionId) {
|
|
969
974
|
if (!this.opts.instanceOpts) return void 0;
|
|
970
|
-
const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.
|
|
975
|
+
const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.queryId === definitionId) : void 0;
|
|
971
976
|
return instanceOpt ?? this.getDefaultOptions(definitionId);
|
|
972
977
|
}
|
|
973
978
|
getDefaultOptions(definitionId) {
|
|
974
979
|
if (!this.opts.instanceOpts) return void 0;
|
|
975
|
-
const defaultOptions = this.opts.instanceOpts.find((i) => i.
|
|
980
|
+
const defaultOptions = this.opts.instanceOpts.find((i) => i.queryId === "default");
|
|
976
981
|
if (defaultOptions) {
|
|
977
982
|
const clonedOptions = {
|
|
978
983
|
...defaultOptions
|
|
979
984
|
};
|
|
980
985
|
if (definitionId !== void 0) {
|
|
981
|
-
clonedOptions.
|
|
986
|
+
clonedOptions.queryId = definitionId;
|
|
982
987
|
}
|
|
983
988
|
return clonedOptions;
|
|
984
989
|
}
|
|
@@ -993,7 +998,4 @@ var VerifiedDataMode = /* @__PURE__ */ (function(VerifiedDataMode2) {
|
|
|
993
998
|
VerifiedDataMode2["CREDENTIAL_SUBJECT_FLATTENED"] = "cs-flat";
|
|
994
999
|
return VerifiedDataMode2;
|
|
995
1000
|
})({});
|
|
996
|
-
|
|
997
|
-
// src/index.ts
|
|
998
|
-
var schema = require_plugin_schema();
|
|
999
1001
|
//# sourceMappingURL=index.cjs.map
|