@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth 0.34.1-feature.DIIPv4.144 → 0.34.1-feature.DIIPv4.156
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 +323 -329
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +717 -26
- package/dist/index.d.ts +717 -26
- package/dist/index.js +315 -322
- package/dist/index.js.map +1 -1
- package/package.json +17 -17
- package/src/RPInstance.ts +6 -4
- package/src/agent/SIOPv2RP.ts +30 -29
- package/src/functions.ts +2 -2
- package/src/index.ts +1 -1
- package/src/types/ISIOPv2RP.ts +15 -17
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"
|
|
141
|
+
},
|
|
142
|
+
stateId: {
|
|
143
|
+
type: "string"
|
|
120
144
|
},
|
|
121
|
-
|
|
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
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
191
|
+
additionalProperties: true
|
|
192
|
+
}
|
|
193
|
+
},
|
|
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
|
+
}
|
|
194
210
|
},
|
|
195
|
-
|
|
211
|
+
vpResponseOpts: {
|
|
196
212
|
type: "object",
|
|
197
213
|
properties: {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
},
|
|
201
|
-
alsoKnownAs: {
|
|
202
|
-
type: "array",
|
|
203
|
-
items: {
|
|
204
|
-
type: "string"
|
|
205
|
-
}
|
|
206
|
-
},
|
|
207
|
-
vpResponseOpts: {
|
|
208
|
-
type: "object",
|
|
209
|
-
properties: {
|
|
210
|
-
additionalProperties: true
|
|
211
|
-
}
|
|
212
|
-
},
|
|
213
|
-
additionalProperties: false
|
|
214
|
-
},
|
|
215
|
-
required: ["id", "vpResponseOpts"],
|
|
216
|
-
description: "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } "
|
|
214
|
+
additionalProperties: true
|
|
215
|
+
}
|
|
217
216
|
},
|
|
218
|
-
|
|
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"
|
|
227
|
+
},
|
|
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");
|
|
@@ -441,11 +434,11 @@ async function createRPBuilder(args) {
|
|
|
441
434
|
const { identifierOpts } = rpOpts;
|
|
442
435
|
let definition = args.definition;
|
|
443
436
|
let dcqlQuery = args.dcql;
|
|
444
|
-
if (!definition && pexOpts && pexOpts.
|
|
437
|
+
if (!definition && pexOpts && pexOpts.queryId) {
|
|
445
438
|
const presentationDefinitionItems = await context.agent.pdmGetDefinitions({
|
|
446
439
|
filter: [
|
|
447
440
|
{
|
|
448
|
-
definitionId: pexOpts.
|
|
441
|
+
definitionId: pexOpts.queryId,
|
|
449
442
|
version: pexOpts.version,
|
|
450
443
|
tenantId: pexOpts.tenantId
|
|
451
444
|
}
|
|
@@ -627,7 +620,7 @@ var RPInstance = class {
|
|
|
627
620
|
return this.definitionId !== void 0;
|
|
628
621
|
}
|
|
629
622
|
get definitionId() {
|
|
630
|
-
return this.pexOptions?.
|
|
623
|
+
return this.pexOptions?.queryId;
|
|
631
624
|
}
|
|
632
625
|
async getPresentationDefinition(context) {
|
|
633
626
|
return this.definitionId ? await context.agent.pexStoreGetDefinition({
|
|
@@ -636,7 +629,7 @@ var RPInstance = class {
|
|
|
636
629
|
}) : void 0;
|
|
637
630
|
}
|
|
638
631
|
async createAuthorizationRequestURI(createArgs, context) {
|
|
639
|
-
const { correlationId, claims, requestByReferenceURI, responseURI, responseURIType } = createArgs;
|
|
632
|
+
const { correlationId, queryId, claims, requestByReferenceURI, responseURI, responseURIType, callback } = createArgs;
|
|
640
633
|
const nonce = createArgs.nonce ?? (0, import_uuid.v4)();
|
|
641
634
|
const state = createArgs.state ?? correlationId;
|
|
642
635
|
let jwtIssuer;
|
|
@@ -664,13 +657,15 @@ var RPInstance = class {
|
|
|
664
657
|
return await this.get(context).then((rp) => rp.createAuthorizationRequestURI({
|
|
665
658
|
version: getRequestVersion(this.rpOptions),
|
|
666
659
|
correlationId,
|
|
660
|
+
queryId,
|
|
667
661
|
nonce,
|
|
668
662
|
state,
|
|
669
663
|
claims,
|
|
670
664
|
requestByReferenceURI,
|
|
671
665
|
responseURI,
|
|
672
666
|
responseURIType,
|
|
673
|
-
jwtIssuer
|
|
667
|
+
jwtIssuer,
|
|
668
|
+
callback
|
|
674
669
|
}));
|
|
675
670
|
}
|
|
676
671
|
async createAuthorizationRequest(createArgs, context) {
|
|
@@ -719,7 +714,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
719
714
|
opts;
|
|
720
715
|
static _DEFAULT_OPTS_KEY = "_default";
|
|
721
716
|
instances = /* @__PURE__ */ new Map();
|
|
722
|
-
schema =
|
|
717
|
+
schema = plugin_schema_default.IDidAuthSiopOpAuthenticator;
|
|
723
718
|
methods = {
|
|
724
719
|
siopCreateAuthRequestURI: this.createAuthorizationRequestURI.bind(this),
|
|
725
720
|
siopCreateAuthRequestPayloads: this.createAuthorizationRequestPayloads.bind(this),
|
|
@@ -749,30 +744,32 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
749
744
|
}
|
|
750
745
|
async createAuthorizationRequestURI(createArgs, context) {
|
|
751
746
|
return await this.getRPInstance({
|
|
752
|
-
|
|
753
|
-
|
|
747
|
+
responseRedirectURI: createArgs.responseRedirectURI,
|
|
748
|
+
...createArgs.useQueryIdInstance === true && {
|
|
749
|
+
queryId: createArgs.queryId
|
|
750
|
+
}
|
|
754
751
|
}, context).then((rp) => rp.createAuthorizationRequestURI(createArgs, context)).then((URI) => URI.encodedUri);
|
|
755
752
|
}
|
|
756
753
|
async createAuthorizationRequestPayloads(createArgs, context) {
|
|
757
754
|
return await this.getRPInstance({
|
|
758
|
-
|
|
755
|
+
queryId: createArgs.queryId
|
|
759
756
|
}, context).then((rp) => rp.createAuthorizationRequest(createArgs, context)).then(async (request) => {
|
|
760
757
|
const authRequest = {
|
|
761
758
|
authorizationRequest: request.payload,
|
|
762
759
|
requestObject: await request.requestObjectJwt(),
|
|
763
|
-
requestObjectDecoded:
|
|
760
|
+
requestObjectDecoded: request.requestObject?.getPayload()
|
|
764
761
|
};
|
|
765
762
|
return authRequest;
|
|
766
763
|
});
|
|
767
764
|
}
|
|
768
765
|
async siopGetRequestState(args, context) {
|
|
769
766
|
return await this.getRPInstance({
|
|
770
|
-
|
|
767
|
+
queryId: args.queryId
|
|
771
768
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.sessionManager.getRequestStateByCorrelationId(args.correlationId, args.errorOnNotFound)));
|
|
772
769
|
}
|
|
773
770
|
async siopGetResponseState(args, context) {
|
|
774
771
|
const rpInstance = await this.getRPInstance({
|
|
775
|
-
|
|
772
|
+
queryId: args.queryId
|
|
776
773
|
}, context);
|
|
777
774
|
const authorizationResponseState = await rpInstance.get(context).then((rp) => rp.sessionManager.getResponseStateByCorrelationId(args.correlationId, args.errorOnNotFound));
|
|
778
775
|
if (authorizationResponseState === void 0) {
|
|
@@ -825,11 +822,11 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
825
822
|
}
|
|
826
823
|
presentationOrClaimsFrom = /* @__PURE__ */ __name((presentationDecoded) => import_ssi_types2.CredentialMapper.isSdJwtDecodedCredential(presentationDecoded) ? presentationDecoded.decodedPayload : import_ssi_types2.CredentialMapper.toUniformPresentation(presentationDecoded), "presentationOrClaimsFrom");
|
|
827
824
|
async siopUpdateRequestState(args, context) {
|
|
828
|
-
if (args.state !== "
|
|
829
|
-
throw Error(`Only '
|
|
825
|
+
if (args.state !== "authorization_request_created") {
|
|
826
|
+
throw Error(`Only 'authorization_request_created' status is supported for this method at this point`);
|
|
830
827
|
}
|
|
831
828
|
return await this.getRPInstance({
|
|
832
|
-
|
|
829
|
+
queryId: args.queryId
|
|
833
830
|
}, context).then((rp) => rp.get(context).then(async (rp2) => {
|
|
834
831
|
await rp2.signalAuthRequestRetrieved({
|
|
835
832
|
correlationId: args.correlationId,
|
|
@@ -840,7 +837,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
840
837
|
}
|
|
841
838
|
async siopDeleteState(args, context) {
|
|
842
839
|
return await this.getRPInstance({
|
|
843
|
-
|
|
840
|
+
queryId: args.queryId
|
|
844
841
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.sessionManager.deleteStateForCorrelationId(args.correlationId))).then(() => true);
|
|
845
842
|
}
|
|
846
843
|
async siopVerifyAuthResponse(args, context) {
|
|
@@ -849,7 +846,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
849
846
|
}
|
|
850
847
|
const authResponse = typeof args.authorizationResponse === "string" ? (0, import_did_auth_siop2.decodeUriAsJson)(args.authorizationResponse) : args.authorizationResponse;
|
|
851
848
|
return await this.getRPInstance({
|
|
852
|
-
|
|
849
|
+
queryId: args.queryId
|
|
853
850
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.verifyAuthorizationResponse(authResponse, {
|
|
854
851
|
correlationId: args.correlationId,
|
|
855
852
|
...args.dcqlQueryPayload ? {
|
|
@@ -859,8 +856,8 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
859
856
|
})));
|
|
860
857
|
}
|
|
861
858
|
async siopImportDefinitions(args, context) {
|
|
862
|
-
const {
|
|
863
|
-
await Promise.all(
|
|
859
|
+
const { queries, tenantId, version, versionControlMode } = args;
|
|
860
|
+
await Promise.all(queries.map(async (definitionPair) => {
|
|
864
861
|
const definitionPayload = definitionPair.definitionPayload;
|
|
865
862
|
if (!definitionPayload && !definitionPair.dcqlPayload) {
|
|
866
863
|
return Promise.reject(Error("Either dcqlPayload or definitionPayload must be suppplied"));
|
|
@@ -893,7 +890,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
893
890
|
}));
|
|
894
891
|
}
|
|
895
892
|
async siopGetRedirectURI(args, context) {
|
|
896
|
-
const instanceId = args.
|
|
893
|
+
const instanceId = args.queryId ?? _SIOPv2RP._DEFAULT_OPTS_KEY;
|
|
897
894
|
if (this.instances.has(instanceId)) {
|
|
898
895
|
const rpInstance = this.instances.get(instanceId);
|
|
899
896
|
if (rpInstance !== void 0) {
|
|
@@ -909,12 +906,12 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
909
906
|
}
|
|
910
907
|
return void 0;
|
|
911
908
|
}
|
|
912
|
-
async getRPInstance({
|
|
913
|
-
const instanceId =
|
|
909
|
+
async getRPInstance({ queryId, responseRedirectURI }, context) {
|
|
910
|
+
const instanceId = queryId ?? _SIOPv2RP._DEFAULT_OPTS_KEY;
|
|
914
911
|
if (!this.instances.has(instanceId)) {
|
|
915
|
-
const instanceOpts = this.getInstanceOpts(
|
|
912
|
+
const instanceOpts = this.getInstanceOpts(queryId);
|
|
916
913
|
const rpOpts = await this.getRPOptions(context, {
|
|
917
|
-
|
|
914
|
+
queryId,
|
|
918
915
|
responseRedirectURI
|
|
919
916
|
});
|
|
920
917
|
if (!rpOpts.identifierOpts.resolveOpts?.resolver || typeof rpOpts.identifierOpts.resolveOpts.resolver.resolve !== "function") {
|
|
@@ -926,7 +923,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
926
923
|
...rpOpts.identifierOpts.resolveOpts
|
|
927
924
|
};
|
|
928
925
|
}
|
|
929
|
-
console.log("Using agent DID resolver for RP instance with definition id " +
|
|
926
|
+
console.log("Using agent DID resolver for RP instance with definition id " + queryId);
|
|
930
927
|
rpOpts.identifierOpts.resolveOpts.resolver = (0, import_ssi_sdk_ext4.getAgentResolver)(context, {
|
|
931
928
|
uniresolverResolution: true,
|
|
932
929
|
localResolution: true,
|
|
@@ -945,10 +942,10 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
945
942
|
return rpInstance;
|
|
946
943
|
}
|
|
947
944
|
async getRPOptions(context, opts) {
|
|
948
|
-
const {
|
|
949
|
-
const options = this.getInstanceOpts(
|
|
945
|
+
const { queryId, responseRedirectURI } = opts;
|
|
946
|
+
const options = this.getInstanceOpts(queryId)?.rpOpts ?? this.opts.defaultOpts;
|
|
950
947
|
if (!options) {
|
|
951
|
-
throw Error(`Could not get specific nor default options for definition ${
|
|
948
|
+
throw Error(`Could not get specific nor default options for definition ${queryId}`);
|
|
952
949
|
}
|
|
953
950
|
if (this.opts.defaultOpts) {
|
|
954
951
|
if (!options.identifierOpts) {
|
|
@@ -982,18 +979,18 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
982
979
|
}
|
|
983
980
|
getInstanceOpts(definitionId) {
|
|
984
981
|
if (!this.opts.instanceOpts) return void 0;
|
|
985
|
-
const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.
|
|
982
|
+
const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.queryId === definitionId) : void 0;
|
|
986
983
|
return instanceOpt ?? this.getDefaultOptions(definitionId);
|
|
987
984
|
}
|
|
988
985
|
getDefaultOptions(definitionId) {
|
|
989
986
|
if (!this.opts.instanceOpts) return void 0;
|
|
990
|
-
const defaultOptions = this.opts.instanceOpts.find((i) => i.
|
|
987
|
+
const defaultOptions = this.opts.instanceOpts.find((i) => i.queryId === "default");
|
|
991
988
|
if (defaultOptions) {
|
|
992
989
|
const clonedOptions = {
|
|
993
990
|
...defaultOptions
|
|
994
991
|
};
|
|
995
992
|
if (definitionId !== void 0) {
|
|
996
|
-
clonedOptions.
|
|
993
|
+
clonedOptions.queryId = definitionId;
|
|
997
994
|
}
|
|
998
995
|
return clonedOptions;
|
|
999
996
|
}
|
|
@@ -1008,7 +1005,4 @@ var VerifiedDataMode = /* @__PURE__ */ (function(VerifiedDataMode2) {
|
|
|
1008
1005
|
VerifiedDataMode2["CREDENTIAL_SUBJECT_FLATTENED"] = "cs-flat";
|
|
1009
1006
|
return VerifiedDataMode2;
|
|
1010
1007
|
})({});
|
|
1011
|
-
|
|
1012
|
-
// src/index.ts
|
|
1013
|
-
var schema = require_plugin_schema();
|
|
1014
1008
|
//# sourceMappingURL=index.cjs.map
|