@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth 0.34.1-feature.SSISDK.26.RP.57 → 0.34.1-feature.SSISDK.45.135
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 +343 -338
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +731 -48
- package/dist/index.d.ts +731 -48
- package/dist/index.js +335 -331
- package/dist/index.js.map +1 -1
- package/package.json +18 -18
- package/src/RPInstance.ts +6 -4
- package/src/agent/SIOPv2RP.ts +48 -34
- package/src/functions.ts +2 -2
- package/src/index.ts +1 -1
- package/src/types/ISIOPv2RP.ts +30 -45
package/dist/index.js
CHANGED
|
@@ -1,349 +1,342 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
|
-
var __commonJS = (cb, mod) => function __require() {
|
|
5
|
-
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
6
|
-
};
|
|
7
3
|
|
|
8
4
|
// plugin.schema.json
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
sessionId: {
|
|
19
|
-
type: "string"
|
|
20
|
-
},
|
|
21
|
-
additionalProperties: false
|
|
22
|
-
},
|
|
23
|
-
required: ["sessionId"],
|
|
24
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } "
|
|
5
|
+
var plugin_schema_default = {
|
|
6
|
+
IDidAuthSiopOpAuthenticator: {
|
|
7
|
+
components: {
|
|
8
|
+
schemas: {
|
|
9
|
+
IGetSiopSessionArgs: {
|
|
10
|
+
type: "object",
|
|
11
|
+
properties: {
|
|
12
|
+
sessionId: {
|
|
13
|
+
type: "string"
|
|
25
14
|
},
|
|
26
|
-
|
|
15
|
+
additionalProperties: false
|
|
16
|
+
},
|
|
17
|
+
required: ["sessionId"],
|
|
18
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } "
|
|
19
|
+
},
|
|
20
|
+
IRegisterSiopSessionArgs: {
|
|
21
|
+
type: "object",
|
|
22
|
+
properties: {
|
|
23
|
+
identifier: {
|
|
27
24
|
type: "object",
|
|
28
25
|
properties: {
|
|
29
|
-
|
|
30
|
-
type: "object",
|
|
31
|
-
properties: {
|
|
32
|
-
did: {
|
|
33
|
-
type: "string"
|
|
34
|
-
},
|
|
35
|
-
alias: {
|
|
36
|
-
type: "string"
|
|
37
|
-
},
|
|
38
|
-
provider: {
|
|
39
|
-
type: "string"
|
|
40
|
-
},
|
|
41
|
-
controllerKeyId: {
|
|
42
|
-
type: "string"
|
|
43
|
-
},
|
|
44
|
-
keys: {
|
|
45
|
-
type: "array",
|
|
46
|
-
items: {
|
|
47
|
-
type: "object",
|
|
48
|
-
properties: {
|
|
49
|
-
additionalProperties: true
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
services: {
|
|
54
|
-
type: "array",
|
|
55
|
-
items: {
|
|
56
|
-
type: "object",
|
|
57
|
-
properties: {
|
|
58
|
-
additionalProperties: true
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
additionalProperties: false,
|
|
64
|
-
required: ["did", "provider", "keys", "services"]
|
|
65
|
-
},
|
|
66
|
-
sessionId: {
|
|
26
|
+
did: {
|
|
67
27
|
type: "string"
|
|
68
28
|
},
|
|
69
|
-
|
|
70
|
-
type: "number"
|
|
71
|
-
},
|
|
72
|
-
additionalProperties: false
|
|
73
|
-
},
|
|
74
|
-
required: ["identifier"],
|
|
75
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.registerSessionForSiop } "
|
|
76
|
-
},
|
|
77
|
-
IRemoveSiopSessionArgs: {
|
|
78
|
-
type: "object",
|
|
79
|
-
properties: {
|
|
80
|
-
sessionId: {
|
|
29
|
+
alias: {
|
|
81
30
|
type: "string"
|
|
82
31
|
},
|
|
83
|
-
|
|
84
|
-
},
|
|
85
|
-
required: ["sessionId"],
|
|
86
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.removeSessionForSiop } "
|
|
87
|
-
},
|
|
88
|
-
IAuthenticateWithSiopArgs: {
|
|
89
|
-
type: "object",
|
|
90
|
-
properties: {
|
|
91
|
-
sessionId: {
|
|
32
|
+
provider: {
|
|
92
33
|
type: "string"
|
|
93
34
|
},
|
|
94
|
-
|
|
35
|
+
controllerKeyId: {
|
|
95
36
|
type: "string"
|
|
96
37
|
},
|
|
97
|
-
|
|
98
|
-
type: "
|
|
38
|
+
keys: {
|
|
39
|
+
type: "array",
|
|
40
|
+
items: {
|
|
41
|
+
type: "object",
|
|
42
|
+
properties: {
|
|
43
|
+
additionalProperties: true
|
|
44
|
+
}
|
|
45
|
+
}
|
|
99
46
|
},
|
|
100
|
-
|
|
47
|
+
services: {
|
|
48
|
+
type: "array",
|
|
49
|
+
items: {
|
|
50
|
+
type: "object",
|
|
51
|
+
properties: {
|
|
52
|
+
additionalProperties: true
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
101
56
|
},
|
|
102
|
-
|
|
103
|
-
|
|
57
|
+
additionalProperties: false,
|
|
58
|
+
required: ["did", "provider", "keys", "services"]
|
|
59
|
+
},
|
|
60
|
+
sessionId: {
|
|
61
|
+
type: "string"
|
|
62
|
+
},
|
|
63
|
+
expiresIn: {
|
|
64
|
+
type: "number"
|
|
65
|
+
},
|
|
66
|
+
additionalProperties: false
|
|
67
|
+
},
|
|
68
|
+
required: ["identifier"],
|
|
69
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.registerSessionForSiop } "
|
|
70
|
+
},
|
|
71
|
+
IRemoveSiopSessionArgs: {
|
|
72
|
+
type: "object",
|
|
73
|
+
properties: {
|
|
74
|
+
sessionId: {
|
|
75
|
+
type: "string"
|
|
76
|
+
},
|
|
77
|
+
additionalProperties: false
|
|
78
|
+
},
|
|
79
|
+
required: ["sessionId"],
|
|
80
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.removeSessionForSiop } "
|
|
81
|
+
},
|
|
82
|
+
IAuthenticateWithSiopArgs: {
|
|
83
|
+
type: "object",
|
|
84
|
+
properties: {
|
|
85
|
+
sessionId: {
|
|
86
|
+
type: "string"
|
|
87
|
+
},
|
|
88
|
+
stateId: {
|
|
89
|
+
type: "string"
|
|
90
|
+
},
|
|
91
|
+
redirectUrl: {
|
|
92
|
+
type: "string"
|
|
93
|
+
},
|
|
94
|
+
additionalProperties: false
|
|
95
|
+
},
|
|
96
|
+
required: ["sessionId", "stateId", "redirectUrl"],
|
|
97
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.authenticateWithSiop } "
|
|
98
|
+
},
|
|
99
|
+
IResponse: {
|
|
100
|
+
type: "object",
|
|
101
|
+
properties: {
|
|
102
|
+
status: {
|
|
103
|
+
type: "number"
|
|
104
|
+
},
|
|
105
|
+
additionalProperties: true
|
|
106
|
+
},
|
|
107
|
+
required: ["status"],
|
|
108
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.authenticateWithSiop & DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
109
|
+
},
|
|
110
|
+
IGetSiopAuthenticationRequestFromRpArgs: {
|
|
111
|
+
type: "object",
|
|
112
|
+
properties: {
|
|
113
|
+
sessionId: {
|
|
114
|
+
type: "string"
|
|
115
|
+
},
|
|
116
|
+
stateId: {
|
|
117
|
+
type: "string"
|
|
118
|
+
},
|
|
119
|
+
redirectUrl: {
|
|
120
|
+
type: "string"
|
|
121
|
+
},
|
|
122
|
+
additionalProperties: false
|
|
123
|
+
},
|
|
124
|
+
required: ["sessionId", "stateId", "redirectUrl"],
|
|
125
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } "
|
|
126
|
+
},
|
|
127
|
+
ParsedAuthenticationRequestURI: {
|
|
128
|
+
type: "object",
|
|
129
|
+
properties: {
|
|
130
|
+
jwt: {
|
|
131
|
+
type: "string"
|
|
104
132
|
},
|
|
105
|
-
|
|
133
|
+
requestPayload: {
|
|
106
134
|
type: "object",
|
|
107
135
|
properties: {
|
|
108
|
-
status: {
|
|
109
|
-
type: "number"
|
|
110
|
-
},
|
|
111
136
|
additionalProperties: true
|
|
112
|
-
}
|
|
113
|
-
required: ["status"],
|
|
114
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.authenticateWithSiop & DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
137
|
+
}
|
|
115
138
|
},
|
|
116
|
-
|
|
139
|
+
registration: {
|
|
117
140
|
type: "object",
|
|
118
141
|
properties: {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
},
|
|
122
|
-
stateId: {
|
|
123
|
-
type: "string"
|
|
124
|
-
},
|
|
125
|
-
redirectUrl: {
|
|
126
|
-
type: "string"
|
|
127
|
-
},
|
|
128
|
-
additionalProperties: false
|
|
129
|
-
},
|
|
130
|
-
required: ["sessionId", "stateId", "redirectUrl"],
|
|
131
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } "
|
|
142
|
+
additionalProperties: true
|
|
143
|
+
}
|
|
132
144
|
},
|
|
133
|
-
|
|
145
|
+
additionalProperties: false
|
|
146
|
+
},
|
|
147
|
+
required: ["jwt", "requestPayload", "registration"],
|
|
148
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } "
|
|
149
|
+
},
|
|
150
|
+
IGetSiopAuthenticationRequestDetailsArgs: {
|
|
151
|
+
type: "object",
|
|
152
|
+
properties: {
|
|
153
|
+
sessionId: {
|
|
154
|
+
type: "string"
|
|
155
|
+
},
|
|
156
|
+
verifiedAuthenticationRequest: {
|
|
134
157
|
type: "object",
|
|
135
158
|
properties: {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
},
|
|
139
|
-
requestPayload: {
|
|
140
|
-
type: "object",
|
|
141
|
-
properties: {
|
|
142
|
-
additionalProperties: true
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
registration: {
|
|
146
|
-
type: "object",
|
|
147
|
-
properties: {
|
|
148
|
-
additionalProperties: true
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
additionalProperties: false
|
|
152
|
-
},
|
|
153
|
-
required: ["jwt", "requestPayload", "registration"],
|
|
154
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } "
|
|
159
|
+
additionalProperties: true
|
|
160
|
+
}
|
|
155
161
|
},
|
|
156
|
-
|
|
162
|
+
credentialFilter: {
|
|
157
163
|
type: "object",
|
|
158
164
|
properties: {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
165
|
+
additionalProperties: true
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
additionalProperties: false
|
|
169
|
+
},
|
|
170
|
+
required: ["sessionId", "verifiedAuthenticationRequest"],
|
|
171
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } "
|
|
172
|
+
},
|
|
173
|
+
IAuthRequestDetails: {
|
|
174
|
+
type: "object",
|
|
175
|
+
properties: {
|
|
176
|
+
id: {
|
|
177
|
+
type: "string"
|
|
178
|
+
},
|
|
179
|
+
alsoKnownAs: {
|
|
180
|
+
type: "array",
|
|
181
|
+
items: {
|
|
182
|
+
type: "string"
|
|
183
|
+
}
|
|
178
184
|
},
|
|
179
|
-
|
|
185
|
+
vpResponseOpts: {
|
|
180
186
|
type: "object",
|
|
181
187
|
properties: {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
},
|
|
197
|
-
additionalProperties: false
|
|
198
|
-
},
|
|
199
|
-
required: ["id", "vpResponseOpts"],
|
|
200
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } "
|
|
188
|
+
additionalProperties: true
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
additionalProperties: false
|
|
192
|
+
},
|
|
193
|
+
required: ["id", "vpResponseOpts"],
|
|
194
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } "
|
|
195
|
+
},
|
|
196
|
+
IVerifySiopAuthenticationRequestUriArgs: {
|
|
197
|
+
type: "object",
|
|
198
|
+
properties: {
|
|
199
|
+
sessionId: {
|
|
200
|
+
type: "string"
|
|
201
201
|
},
|
|
202
|
-
|
|
202
|
+
ParsedAuthenticationRequestURI: {
|
|
203
203
|
type: "object",
|
|
204
204
|
properties: {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
},
|
|
208
|
-
ParsedAuthenticationRequestURI: {
|
|
209
|
-
type: "object",
|
|
210
|
-
properties: {
|
|
211
|
-
additionalProperties: true
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
additionalProperties: false
|
|
215
|
-
},
|
|
216
|
-
required: ["sessionId", "ParsedAuthenticationRequestURI"],
|
|
217
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
205
|
+
additionalProperties: true
|
|
206
|
+
}
|
|
218
207
|
},
|
|
219
|
-
|
|
208
|
+
additionalProperties: false
|
|
209
|
+
},
|
|
210
|
+
required: ["sessionId", "ParsedAuthenticationRequestURI"],
|
|
211
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
212
|
+
},
|
|
213
|
+
VerifiedAuthorizationRequest: {
|
|
214
|
+
type: "object",
|
|
215
|
+
properties: {
|
|
216
|
+
payload: {
|
|
220
217
|
type: "object",
|
|
221
218
|
properties: {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
properties: {
|
|
225
|
-
additionalProperties: true
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
|
-
presentationDefinitions: {
|
|
229
|
-
type: "object",
|
|
230
|
-
properties: {
|
|
231
|
-
additionalProperties: true
|
|
232
|
-
}
|
|
233
|
-
},
|
|
234
|
-
verifyOpts: {
|
|
235
|
-
type: "object",
|
|
236
|
-
properties: {
|
|
237
|
-
additionalProperties: true
|
|
238
|
-
}
|
|
239
|
-
},
|
|
240
|
-
additionalProperties: false
|
|
241
|
-
},
|
|
242
|
-
required: ["payload", "verifyOpts"],
|
|
243
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
219
|
+
additionalProperties: true
|
|
220
|
+
}
|
|
244
221
|
},
|
|
245
|
-
|
|
222
|
+
presentationDefinitions: {
|
|
246
223
|
type: "object",
|
|
247
224
|
properties: {
|
|
248
|
-
|
|
249
|
-
type: "string"
|
|
250
|
-
},
|
|
251
|
-
verifiedAuthenticationRequest: {
|
|
252
|
-
type: "object",
|
|
253
|
-
properties: {
|
|
254
|
-
additionalProperties: true
|
|
255
|
-
}
|
|
256
|
-
},
|
|
257
|
-
verifiablePresentationResponse: {
|
|
258
|
-
type: "object",
|
|
259
|
-
properties: {
|
|
260
|
-
additionalProperties: true
|
|
261
|
-
}
|
|
262
|
-
},
|
|
263
|
-
additionalProperties: false
|
|
264
|
-
},
|
|
265
|
-
required: ["sessionId", "verifiedAuthenticationRequest"],
|
|
266
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
267
|
-
}
|
|
268
|
-
},
|
|
269
|
-
methods: {
|
|
270
|
-
getSessionForSiop: {
|
|
271
|
-
description: "Get SIOP session",
|
|
272
|
-
arguments: {
|
|
273
|
-
$ref: "#/components/schemas/IGetSiopSessionArgs"
|
|
274
|
-
},
|
|
275
|
-
returnType: "object"
|
|
276
|
-
},
|
|
277
|
-
registerSessionForSiop: {
|
|
278
|
-
description: "Register SIOP session",
|
|
279
|
-
arguments: {
|
|
280
|
-
$ref: "#/components/schemas/IRegisterSiopSessionArgs"
|
|
281
|
-
},
|
|
282
|
-
returnType: "object"
|
|
283
|
-
},
|
|
284
|
-
removeSessionForSiop: {
|
|
285
|
-
description: "Remove SIOP session",
|
|
286
|
-
arguments: {
|
|
287
|
-
$ref: "#/components/schemas/IRemoveSiopSessionArgs"
|
|
288
|
-
},
|
|
289
|
-
returnType: "boolean"
|
|
290
|
-
},
|
|
291
|
-
authenticateWithSiop: {
|
|
292
|
-
description: "Authenticate using DID Auth SIOP",
|
|
293
|
-
arguments: {
|
|
294
|
-
$ref: "#/components/schemas/IAuthenticateWithSiopArgs"
|
|
295
|
-
},
|
|
296
|
-
returnType: {
|
|
297
|
-
$ref: "#/components/schemas/Response"
|
|
225
|
+
additionalProperties: true
|
|
298
226
|
}
|
|
299
227
|
},
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
},
|
|
305
|
-
returnType: {
|
|
306
|
-
$ref: "#/components/schemas/ParsedAuthenticationRequestURI"
|
|
228
|
+
verifyOpts: {
|
|
229
|
+
type: "object",
|
|
230
|
+
properties: {
|
|
231
|
+
additionalProperties: true
|
|
307
232
|
}
|
|
308
233
|
},
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
234
|
+
additionalProperties: false
|
|
235
|
+
},
|
|
236
|
+
required: ["payload", "verifyOpts"],
|
|
237
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
238
|
+
},
|
|
239
|
+
ISendSiopAuthenticationResponseArgs: {
|
|
240
|
+
type: "object",
|
|
241
|
+
properties: {
|
|
242
|
+
sessionId: {
|
|
243
|
+
type: "string"
|
|
317
244
|
},
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
},
|
|
323
|
-
returnType: {
|
|
324
|
-
$ref: "#/components/schemas/VerifiedAuthorizationRequest"
|
|
245
|
+
verifiedAuthenticationRequest: {
|
|
246
|
+
type: "object",
|
|
247
|
+
properties: {
|
|
248
|
+
additionalProperties: true
|
|
325
249
|
}
|
|
326
250
|
},
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
},
|
|
332
|
-
returnType: {
|
|
333
|
-
$ref: "#/components/schemas/IRequiredContext"
|
|
251
|
+
verifiablePresentationResponse: {
|
|
252
|
+
type: "object",
|
|
253
|
+
properties: {
|
|
254
|
+
additionalProperties: true
|
|
334
255
|
}
|
|
335
|
-
}
|
|
256
|
+
},
|
|
257
|
+
additionalProperties: false
|
|
258
|
+
},
|
|
259
|
+
required: ["sessionId", "verifiedAuthenticationRequest"],
|
|
260
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
methods: {
|
|
264
|
+
getSessionForSiop: {
|
|
265
|
+
description: "Get SIOP session",
|
|
266
|
+
arguments: {
|
|
267
|
+
$ref: "#/components/schemas/IGetSiopSessionArgs"
|
|
268
|
+
},
|
|
269
|
+
returnType: "object"
|
|
270
|
+
},
|
|
271
|
+
registerSessionForSiop: {
|
|
272
|
+
description: "Register SIOP session",
|
|
273
|
+
arguments: {
|
|
274
|
+
$ref: "#/components/schemas/IRegisterSiopSessionArgs"
|
|
275
|
+
},
|
|
276
|
+
returnType: "object"
|
|
277
|
+
},
|
|
278
|
+
removeSessionForSiop: {
|
|
279
|
+
description: "Remove SIOP session",
|
|
280
|
+
arguments: {
|
|
281
|
+
$ref: "#/components/schemas/IRemoveSiopSessionArgs"
|
|
282
|
+
},
|
|
283
|
+
returnType: "boolean"
|
|
284
|
+
},
|
|
285
|
+
authenticateWithSiop: {
|
|
286
|
+
description: "Authenticate using DID Auth SIOP",
|
|
287
|
+
arguments: {
|
|
288
|
+
$ref: "#/components/schemas/IAuthenticateWithSiopArgs"
|
|
289
|
+
},
|
|
290
|
+
returnType: {
|
|
291
|
+
$ref: "#/components/schemas/Response"
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
getSiopAuthenticationRequestFromRP: {
|
|
295
|
+
description: "Get authentication request from RP",
|
|
296
|
+
arguments: {
|
|
297
|
+
$ref: "#/components/schemas/IGetSiopAuthenticationRequestFromRpArgs"
|
|
298
|
+
},
|
|
299
|
+
returnType: {
|
|
300
|
+
$ref: "#/components/schemas/ParsedAuthenticationRequestURI"
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
getSiopAuthenticationRequestDetails: {
|
|
304
|
+
description: "Get authentication request details",
|
|
305
|
+
arguments: {
|
|
306
|
+
$ref: "#/components/schemas/IGetSiopAuthenticationRequestDetailsArgs"
|
|
307
|
+
},
|
|
308
|
+
returnType: {
|
|
309
|
+
$ref: "#/components/schemas/IAuthRequestDetails"
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
verifySiopAuthenticationRequestURI: {
|
|
313
|
+
description: "Verify authentication request URI",
|
|
314
|
+
arguments: {
|
|
315
|
+
$ref: "#/components/schemas/IVerifySiopAuthenticationRequestUriArgs"
|
|
316
|
+
},
|
|
317
|
+
returnType: {
|
|
318
|
+
$ref: "#/components/schemas/VerifiedAuthorizationRequest"
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
sendSiopAuthenticationResponse: {
|
|
322
|
+
description: "Send authentication response",
|
|
323
|
+
arguments: {
|
|
324
|
+
$ref: "#/components/schemas/ISendSiopAuthenticationResponseArgs"
|
|
325
|
+
},
|
|
326
|
+
returnType: {
|
|
327
|
+
$ref: "#/components/schemas/IRequiredContext"
|
|
336
328
|
}
|
|
337
329
|
}
|
|
338
330
|
}
|
|
339
|
-
}
|
|
331
|
+
}
|
|
340
332
|
}
|
|
341
|
-
}
|
|
333
|
+
};
|
|
342
334
|
|
|
343
335
|
// src/agent/SIOPv2RP.ts
|
|
344
336
|
import { AuthorizationResponseStateStatus, decodeUriAsJson } from "@sphereon/did-auth-siop";
|
|
345
337
|
import { getAgentResolver as getAgentResolver2 } from "@sphereon/ssi-sdk-ext.did-utils";
|
|
346
338
|
import { CredentialMapper as CredentialMapper2 } from "@sphereon/ssi-types";
|
|
339
|
+
import { DcqlQuery } from "dcql";
|
|
347
340
|
|
|
348
341
|
// src/functions.ts
|
|
349
342
|
import { InMemoryRPSessionManager, PassBy, PropertyTarget, ResponseMode, ResponseType, RevocationVerification, RP, Scope, SubjectType, SupportedVersion } from "@sphereon/did-auth-siop";
|
|
@@ -416,11 +409,11 @@ async function createRPBuilder(args) {
|
|
|
416
409
|
const { identifierOpts } = rpOpts;
|
|
417
410
|
let definition = args.definition;
|
|
418
411
|
let dcqlQuery = args.dcql;
|
|
419
|
-
if (!definition && pexOpts && pexOpts.
|
|
412
|
+
if (!definition && pexOpts && pexOpts.queryId) {
|
|
420
413
|
const presentationDefinitionItems = await context.agent.pdmGetDefinitions({
|
|
421
414
|
filter: [
|
|
422
415
|
{
|
|
423
|
-
definitionId: pexOpts.
|
|
416
|
+
definitionId: pexOpts.queryId,
|
|
424
417
|
version: pexOpts.version,
|
|
425
418
|
tenantId: pexOpts.tenantId
|
|
426
419
|
}
|
|
@@ -608,7 +601,7 @@ var RPInstance = class {
|
|
|
608
601
|
return this.definitionId !== void 0;
|
|
609
602
|
}
|
|
610
603
|
get definitionId() {
|
|
611
|
-
return this.pexOptions?.
|
|
604
|
+
return this.pexOptions?.queryId;
|
|
612
605
|
}
|
|
613
606
|
async getPresentationDefinition(context) {
|
|
614
607
|
return this.definitionId ? await context.agent.pexStoreGetDefinition({
|
|
@@ -617,7 +610,7 @@ var RPInstance = class {
|
|
|
617
610
|
}) : void 0;
|
|
618
611
|
}
|
|
619
612
|
async createAuthorizationRequestURI(createArgs, context) {
|
|
620
|
-
const { correlationId, claims, requestByReferenceURI, responseURI, responseURIType } = createArgs;
|
|
613
|
+
const { correlationId, queryId, claims, requestByReferenceURI, responseURI, responseURIType, callback } = createArgs;
|
|
621
614
|
const nonce = createArgs.nonce ?? uuidv4();
|
|
622
615
|
const state = createArgs.state ?? correlationId;
|
|
623
616
|
let jwtIssuer;
|
|
@@ -645,13 +638,15 @@ var RPInstance = class {
|
|
|
645
638
|
return await this.get(context).then((rp) => rp.createAuthorizationRequestURI({
|
|
646
639
|
version: getRequestVersion(this.rpOptions),
|
|
647
640
|
correlationId,
|
|
641
|
+
queryId,
|
|
648
642
|
nonce,
|
|
649
643
|
state,
|
|
650
644
|
claims,
|
|
651
645
|
requestByReferenceURI,
|
|
652
646
|
responseURI,
|
|
653
647
|
responseURIType,
|
|
654
|
-
jwtIssuer
|
|
648
|
+
jwtIssuer,
|
|
649
|
+
callback
|
|
655
650
|
}));
|
|
656
651
|
}
|
|
657
652
|
async createAuthorizationRequest(createArgs, context) {
|
|
@@ -700,7 +695,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
700
695
|
opts;
|
|
701
696
|
static _DEFAULT_OPTS_KEY = "_default";
|
|
702
697
|
instances = /* @__PURE__ */ new Map();
|
|
703
|
-
schema =
|
|
698
|
+
schema = plugin_schema_default.IDidAuthSiopOpAuthenticator;
|
|
704
699
|
methods = {
|
|
705
700
|
siopCreateAuthRequestURI: this.createAuthorizationRequestURI.bind(this),
|
|
706
701
|
siopCreateAuthRequestPayloads: this.createAuthorizationRequestPayloads.bind(this),
|
|
@@ -730,30 +725,32 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
730
725
|
}
|
|
731
726
|
async createAuthorizationRequestURI(createArgs, context) {
|
|
732
727
|
return await this.getRPInstance({
|
|
733
|
-
|
|
734
|
-
|
|
728
|
+
responseRedirectURI: createArgs.responseRedirectURI,
|
|
729
|
+
...createArgs.useQueryIdInstance === true && {
|
|
730
|
+
queryId: createArgs.queryId
|
|
731
|
+
}
|
|
735
732
|
}, context).then((rp) => rp.createAuthorizationRequestURI(createArgs, context)).then((URI) => URI.encodedUri);
|
|
736
733
|
}
|
|
737
734
|
async createAuthorizationRequestPayloads(createArgs, context) {
|
|
738
735
|
return await this.getRPInstance({
|
|
739
|
-
|
|
736
|
+
queryId: createArgs.queryId
|
|
740
737
|
}, context).then((rp) => rp.createAuthorizationRequest(createArgs, context)).then(async (request) => {
|
|
741
738
|
const authRequest = {
|
|
742
739
|
authorizationRequest: request.payload,
|
|
743
740
|
requestObject: await request.requestObjectJwt(),
|
|
744
|
-
requestObjectDecoded:
|
|
741
|
+
requestObjectDecoded: request.requestObject?.getPayload()
|
|
745
742
|
};
|
|
746
743
|
return authRequest;
|
|
747
744
|
});
|
|
748
745
|
}
|
|
749
746
|
async siopGetRequestState(args, context) {
|
|
750
747
|
return await this.getRPInstance({
|
|
751
|
-
|
|
748
|
+
queryId: args.queryId
|
|
752
749
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.sessionManager.getRequestStateByCorrelationId(args.correlationId, args.errorOnNotFound)));
|
|
753
750
|
}
|
|
754
751
|
async siopGetResponseState(args, context) {
|
|
755
752
|
const rpInstance = await this.getRPInstance({
|
|
756
|
-
|
|
753
|
+
queryId: args.queryId
|
|
757
754
|
}, context);
|
|
758
755
|
const authorizationResponseState = await rpInstance.get(context).then((rp) => rp.sessionManager.getResponseStateByCorrelationId(args.correlationId, args.errorOnNotFound));
|
|
759
756
|
if (authorizationResponseState === void 0) {
|
|
@@ -806,11 +803,11 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
806
803
|
}
|
|
807
804
|
presentationOrClaimsFrom = /* @__PURE__ */ __name((presentationDecoded) => CredentialMapper2.isSdJwtDecodedCredential(presentationDecoded) ? presentationDecoded.decodedPayload : CredentialMapper2.toUniformPresentation(presentationDecoded), "presentationOrClaimsFrom");
|
|
808
805
|
async siopUpdateRequestState(args, context) {
|
|
809
|
-
if (args.state !== "
|
|
810
|
-
throw Error(`Only '
|
|
806
|
+
if (args.state !== "authorization_request_created") {
|
|
807
|
+
throw Error(`Only 'authorization_request_created' status is supported for this method at this point`);
|
|
811
808
|
}
|
|
812
809
|
return await this.getRPInstance({
|
|
813
|
-
|
|
810
|
+
queryId: args.queryId
|
|
814
811
|
}, context).then((rp) => rp.get(context).then(async (rp2) => {
|
|
815
812
|
await rp2.signalAuthRequestRetrieved({
|
|
816
813
|
correlationId: args.correlationId,
|
|
@@ -821,7 +818,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
821
818
|
}
|
|
822
819
|
async siopDeleteState(args, context) {
|
|
823
820
|
return await this.getRPInstance({
|
|
824
|
-
|
|
821
|
+
queryId: args.queryId
|
|
825
822
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.sessionManager.deleteStateForCorrelationId(args.correlationId))).then(() => true);
|
|
826
823
|
}
|
|
827
824
|
async siopVerifyAuthResponse(args, context) {
|
|
@@ -830,28 +827,38 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
830
827
|
}
|
|
831
828
|
const authResponse = typeof args.authorizationResponse === "string" ? decodeUriAsJson(args.authorizationResponse) : args.authorizationResponse;
|
|
832
829
|
return await this.getRPInstance({
|
|
833
|
-
|
|
830
|
+
queryId: args.queryId
|
|
834
831
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.verifyAuthorizationResponse(authResponse, {
|
|
835
832
|
correlationId: args.correlationId,
|
|
836
|
-
...args.
|
|
837
|
-
|
|
838
|
-
} : {},
|
|
839
|
-
...args.dcqlQuery ? {
|
|
840
|
-
dcqlQuery: args.dcqlQuery
|
|
833
|
+
...args.dcqlQueryPayload ? {
|
|
834
|
+
dcqlQuery: args.dcqlQueryPayload.dcqlQuery
|
|
841
835
|
} : {},
|
|
842
836
|
audience: args.audience
|
|
843
837
|
})));
|
|
844
838
|
}
|
|
845
839
|
async siopImportDefinitions(args, context) {
|
|
846
|
-
const {
|
|
847
|
-
await Promise.all(
|
|
840
|
+
const { queries, tenantId, version, versionControlMode } = args;
|
|
841
|
+
await Promise.all(queries.map(async (definitionPair) => {
|
|
848
842
|
const definitionPayload = definitionPair.definitionPayload;
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
}
|
|
852
|
-
|
|
843
|
+
if (!definitionPayload && !definitionPair.dcqlPayload) {
|
|
844
|
+
return Promise.reject(Error("Either dcqlPayload or definitionPayload must be suppplied"));
|
|
845
|
+
}
|
|
846
|
+
let definitionId;
|
|
847
|
+
if (definitionPair.dcqlPayload) {
|
|
848
|
+
DcqlQuery.validate(definitionPair.dcqlPayload.dcqlQuery);
|
|
849
|
+
console.log(`persisting DCQL definition ${definitionPair.dcqlPayload.queryId} with versionControlMode ${versionControlMode}`);
|
|
850
|
+
definitionId = definitionPair.dcqlPayload.queryId;
|
|
851
|
+
}
|
|
852
|
+
if (definitionPayload) {
|
|
853
|
+
await context.agent.pexValidateDefinition({
|
|
854
|
+
definition: definitionPayload
|
|
855
|
+
});
|
|
856
|
+
console.log(`persisting PEX definition ${definitionPayload.id} / ${definitionPayload.name} with versionControlMode ${versionControlMode}`);
|
|
857
|
+
definitionId = definitionPayload.id;
|
|
858
|
+
}
|
|
853
859
|
return context.agent.pdmPersistDefinition({
|
|
854
860
|
definitionItem: {
|
|
861
|
+
definitionId,
|
|
855
862
|
tenantId,
|
|
856
863
|
version,
|
|
857
864
|
definitionPayload,
|
|
@@ -864,7 +871,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
864
871
|
}));
|
|
865
872
|
}
|
|
866
873
|
async siopGetRedirectURI(args, context) {
|
|
867
|
-
const instanceId = args.
|
|
874
|
+
const instanceId = args.queryId ?? _SIOPv2RP._DEFAULT_OPTS_KEY;
|
|
868
875
|
if (this.instances.has(instanceId)) {
|
|
869
876
|
const rpInstance = this.instances.get(instanceId);
|
|
870
877
|
if (rpInstance !== void 0) {
|
|
@@ -880,12 +887,12 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
880
887
|
}
|
|
881
888
|
return void 0;
|
|
882
889
|
}
|
|
883
|
-
async getRPInstance({
|
|
884
|
-
const instanceId =
|
|
890
|
+
async getRPInstance({ queryId, responseRedirectURI }, context) {
|
|
891
|
+
const instanceId = queryId ?? _SIOPv2RP._DEFAULT_OPTS_KEY;
|
|
885
892
|
if (!this.instances.has(instanceId)) {
|
|
886
|
-
const instanceOpts = this.getInstanceOpts(
|
|
893
|
+
const instanceOpts = this.getInstanceOpts(queryId);
|
|
887
894
|
const rpOpts = await this.getRPOptions(context, {
|
|
888
|
-
|
|
895
|
+
queryId,
|
|
889
896
|
responseRedirectURI
|
|
890
897
|
});
|
|
891
898
|
if (!rpOpts.identifierOpts.resolveOpts?.resolver || typeof rpOpts.identifierOpts.resolveOpts.resolver.resolve !== "function") {
|
|
@@ -897,7 +904,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
897
904
|
...rpOpts.identifierOpts.resolveOpts
|
|
898
905
|
};
|
|
899
906
|
}
|
|
900
|
-
console.log("Using agent DID resolver for RP instance with definition id " +
|
|
907
|
+
console.log("Using agent DID resolver for RP instance with definition id " + queryId);
|
|
901
908
|
rpOpts.identifierOpts.resolveOpts.resolver = getAgentResolver2(context, {
|
|
902
909
|
uniresolverResolution: true,
|
|
903
910
|
localResolution: true,
|
|
@@ -916,10 +923,10 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
916
923
|
return rpInstance;
|
|
917
924
|
}
|
|
918
925
|
async getRPOptions(context, opts) {
|
|
919
|
-
const {
|
|
920
|
-
const options = this.getInstanceOpts(
|
|
926
|
+
const { queryId, responseRedirectURI } = opts;
|
|
927
|
+
const options = this.getInstanceOpts(queryId)?.rpOpts ?? this.opts.defaultOpts;
|
|
921
928
|
if (!options) {
|
|
922
|
-
throw Error(`Could not get specific nor default options for definition ${
|
|
929
|
+
throw Error(`Could not get specific nor default options for definition ${queryId}`);
|
|
923
930
|
}
|
|
924
931
|
if (this.opts.defaultOpts) {
|
|
925
932
|
if (!options.identifierOpts) {
|
|
@@ -953,18 +960,18 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
953
960
|
}
|
|
954
961
|
getInstanceOpts(definitionId) {
|
|
955
962
|
if (!this.opts.instanceOpts) return void 0;
|
|
956
|
-
const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.
|
|
963
|
+
const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.queryId === definitionId) : void 0;
|
|
957
964
|
return instanceOpt ?? this.getDefaultOptions(definitionId);
|
|
958
965
|
}
|
|
959
966
|
getDefaultOptions(definitionId) {
|
|
960
967
|
if (!this.opts.instanceOpts) return void 0;
|
|
961
|
-
const defaultOptions = this.opts.instanceOpts.find((i) => i.
|
|
968
|
+
const defaultOptions = this.opts.instanceOpts.find((i) => i.queryId === "default");
|
|
962
969
|
if (defaultOptions) {
|
|
963
970
|
const clonedOptions = {
|
|
964
971
|
...defaultOptions
|
|
965
972
|
};
|
|
966
973
|
if (definitionId !== void 0) {
|
|
967
|
-
clonedOptions.
|
|
974
|
+
clonedOptions.queryId = definitionId;
|
|
968
975
|
}
|
|
969
976
|
return clonedOptions;
|
|
970
977
|
}
|
|
@@ -979,12 +986,9 @@ var VerifiedDataMode = /* @__PURE__ */ function(VerifiedDataMode2) {
|
|
|
979
986
|
VerifiedDataMode2["CREDENTIAL_SUBJECT_FLATTENED"] = "cs-flat";
|
|
980
987
|
return VerifiedDataMode2;
|
|
981
988
|
}({});
|
|
982
|
-
|
|
983
|
-
// src/index.ts
|
|
984
|
-
var schema = require_plugin_schema();
|
|
985
989
|
export {
|
|
986
990
|
SIOPv2RP,
|
|
987
991
|
VerifiedDataMode,
|
|
988
|
-
schema
|
|
992
|
+
plugin_schema_default as schema
|
|
989
993
|
};
|
|
990
994
|
//# sourceMappingURL=index.js.map
|