@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth 0.34.1-feature.SSISDK.47.43 → 0.34.1-feature.SSISDK.50.101
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 +351 -333
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +40 -739
- package/dist/index.d.ts +40 -739
- package/dist/index.js +344 -325
- package/dist/index.js.map +1 -1
- package/package.json +19 -19
- package/src/RPInstance.ts +4 -5
- package/src/agent/SIOPv2RP.ts +47 -35
- package/src/functions.ts +2 -2
- package/src/index.ts +1 -1
- package/src/types/ISIOPv2RP.ts +33 -42
package/dist/index.cjs
CHANGED
|
@@ -4,6 +4,9 @@ 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
|
+
};
|
|
7
10
|
var __export = (target, all) => {
|
|
8
11
|
for (var name in all)
|
|
9
12
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -18,350 +21,355 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
21
|
};
|
|
19
22
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
23
|
|
|
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
|
-
|
|
30
24
|
// plugin.schema.json
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
25
|
+
var require_plugin_schema = __commonJS({
|
|
26
|
+
"plugin.schema.json"(exports, module2) {
|
|
27
|
+
module2.exports = {
|
|
28
|
+
IDidAuthSiopOpAuthenticator: {
|
|
29
|
+
components: {
|
|
30
|
+
schemas: {
|
|
31
|
+
IGetSiopSessionArgs: {
|
|
32
|
+
type: "object",
|
|
33
|
+
properties: {
|
|
34
|
+
sessionId: {
|
|
35
|
+
type: "string"
|
|
36
|
+
},
|
|
37
|
+
additionalProperties: false
|
|
38
|
+
},
|
|
39
|
+
required: ["sessionId"],
|
|
40
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } "
|
|
40
41
|
},
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
required: ["sessionId"],
|
|
44
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } "
|
|
45
|
-
},
|
|
46
|
-
IRegisterSiopSessionArgs: {
|
|
47
|
-
type: "object",
|
|
48
|
-
properties: {
|
|
49
|
-
identifier: {
|
|
42
|
+
IRegisterSiopSessionArgs: {
|
|
50
43
|
type: "object",
|
|
51
44
|
properties: {
|
|
52
|
-
|
|
45
|
+
identifier: {
|
|
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: {
|
|
53
83
|
type: "string"
|
|
54
84
|
},
|
|
55
|
-
|
|
85
|
+
expiresIn: {
|
|
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: {
|
|
56
97
|
type: "string"
|
|
57
98
|
},
|
|
58
|
-
|
|
99
|
+
additionalProperties: false
|
|
100
|
+
},
|
|
101
|
+
required: ["sessionId"],
|
|
102
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.removeSessionForSiop } "
|
|
103
|
+
},
|
|
104
|
+
IAuthenticateWithSiopArgs: {
|
|
105
|
+
type: "object",
|
|
106
|
+
properties: {
|
|
107
|
+
sessionId: {
|
|
59
108
|
type: "string"
|
|
60
109
|
},
|
|
61
|
-
|
|
110
|
+
stateId: {
|
|
62
111
|
type: "string"
|
|
63
112
|
},
|
|
64
|
-
|
|
65
|
-
type: "
|
|
66
|
-
items: {
|
|
67
|
-
type: "object",
|
|
68
|
-
properties: {
|
|
69
|
-
additionalProperties: true
|
|
70
|
-
}
|
|
71
|
-
}
|
|
113
|
+
redirectUrl: {
|
|
114
|
+
type: "string"
|
|
72
115
|
},
|
|
73
|
-
|
|
74
|
-
type: "array",
|
|
75
|
-
items: {
|
|
76
|
-
type: "object",
|
|
77
|
-
properties: {
|
|
78
|
-
additionalProperties: true
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
116
|
+
additionalProperties: false
|
|
82
117
|
},
|
|
83
|
-
|
|
84
|
-
|
|
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"
|
|
118
|
+
required: ["sessionId", "stateId", "redirectUrl"],
|
|
119
|
+
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.authenticateWithSiop } "
|
|
144
120
|
},
|
|
145
|
-
|
|
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: {
|
|
121
|
+
IResponse: {
|
|
160
122
|
type: "object",
|
|
161
123
|
properties: {
|
|
124
|
+
status: {
|
|
125
|
+
type: "number"
|
|
126
|
+
},
|
|
162
127
|
additionalProperties: true
|
|
163
|
-
}
|
|
128
|
+
},
|
|
129
|
+
required: ["status"],
|
|
130
|
+
description: "Result of {@link DidAuthSiopOpAuthenticator.authenticateWithSiop & DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } "
|
|
164
131
|
},
|
|
165
|
-
|
|
132
|
+
IGetSiopAuthenticationRequestFromRpArgs: {
|
|
166
133
|
type: "object",
|
|
167
134
|
properties: {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
135
|
+
sessionId: {
|
|
136
|
+
type: "string"
|
|
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 } "
|
|
181
148
|
},
|
|
182
|
-
|
|
149
|
+
ParsedAuthenticationRequestURI: {
|
|
183
150
|
type: "object",
|
|
184
151
|
properties: {
|
|
185
|
-
|
|
186
|
-
|
|
152
|
+
jwt: {
|
|
153
|
+
type: "string"
|
|
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 } "
|
|
187
171
|
},
|
|
188
|
-
|
|
172
|
+
IGetSiopAuthenticationRequestDetailsArgs: {
|
|
189
173
|
type: "object",
|
|
190
174
|
properties: {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
175
|
+
sessionId: {
|
|
176
|
+
type: "string"
|
|
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 } "
|
|
210
194
|
},
|
|
211
|
-
|
|
195
|
+
IAuthRequestDetails: {
|
|
212
196
|
type: "object",
|
|
213
197
|
properties: {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
198
|
+
id: {
|
|
199
|
+
type: "string"
|
|
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 } "
|
|
227
217
|
},
|
|
228
|
-
|
|
218
|
+
IVerifySiopAuthenticationRequestUriArgs: {
|
|
229
219
|
type: "object",
|
|
230
220
|
properties: {
|
|
231
|
-
|
|
232
|
-
|
|
221
|
+
sessionId: {
|
|
222
|
+
type: "string"
|
|
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 } "
|
|
233
234
|
},
|
|
234
|
-
|
|
235
|
-
},
|
|
236
|
-
required: ["sessionId", "ParsedAuthenticationRequestURI"],
|
|
237
|
-
description: "Arguments needed for {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } "
|
|
238
|
-
},
|
|
239
|
-
VerifiedAuthorizationRequest: {
|
|
240
|
-
type: "object",
|
|
241
|
-
properties: {
|
|
242
|
-
payload: {
|
|
235
|
+
VerifiedAuthorizationRequest: {
|
|
243
236
|
type: "object",
|
|
244
237
|
properties: {
|
|
245
|
-
|
|
246
|
-
|
|
238
|
+
payload: {
|
|
239
|
+
type: "object",
|
|
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 } "
|
|
247
260
|
},
|
|
248
|
-
|
|
261
|
+
ISendSiopAuthenticationResponseArgs: {
|
|
249
262
|
type: "object",
|
|
250
263
|
properties: {
|
|
251
|
-
|
|
252
|
-
|
|
264
|
+
sessionId: {
|
|
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"
|
|
253
292
|
},
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
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"
|
|
258
314
|
}
|
|
259
315
|
},
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
sessionId: {
|
|
269
|
-
type: "string"
|
|
316
|
+
getSiopAuthenticationRequestFromRP: {
|
|
317
|
+
description: "Get authentication request from RP",
|
|
318
|
+
arguments: {
|
|
319
|
+
$ref: "#/components/schemas/IGetSiopAuthenticationRequestFromRpArgs"
|
|
320
|
+
},
|
|
321
|
+
returnType: {
|
|
322
|
+
$ref: "#/components/schemas/ParsedAuthenticationRequestURI"
|
|
323
|
+
}
|
|
270
324
|
},
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
325
|
+
getSiopAuthenticationRequestDetails: {
|
|
326
|
+
description: "Get authentication request details",
|
|
327
|
+
arguments: {
|
|
328
|
+
$ref: "#/components/schemas/IGetSiopAuthenticationRequestDetailsArgs"
|
|
329
|
+
},
|
|
330
|
+
returnType: {
|
|
331
|
+
$ref: "#/components/schemas/IAuthRequestDetails"
|
|
275
332
|
}
|
|
276
333
|
},
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
334
|
+
verifySiopAuthenticationRequestURI: {
|
|
335
|
+
description: "Verify authentication request URI",
|
|
336
|
+
arguments: {
|
|
337
|
+
$ref: "#/components/schemas/IVerifySiopAuthenticationRequestUriArgs"
|
|
338
|
+
},
|
|
339
|
+
returnType: {
|
|
340
|
+
$ref: "#/components/schemas/VerifiedAuthorizationRequest"
|
|
281
341
|
}
|
|
282
342
|
},
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
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"
|
|
343
|
+
sendSiopAuthenticationResponse: {
|
|
344
|
+
description: "Send authentication response",
|
|
345
|
+
arguments: {
|
|
346
|
+
$ref: "#/components/schemas/ISendSiopAuthenticationResponseArgs"
|
|
347
|
+
},
|
|
348
|
+
returnType: {
|
|
349
|
+
$ref: "#/components/schemas/IRequiredContext"
|
|
350
|
+
}
|
|
351
|
+
}
|
|
354
352
|
}
|
|
355
353
|
}
|
|
356
354
|
}
|
|
357
|
-
}
|
|
355
|
+
};
|
|
358
356
|
}
|
|
359
|
-
};
|
|
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);
|
|
360
367
|
|
|
361
368
|
// src/agent/SIOPv2RP.ts
|
|
362
369
|
var import_did_auth_siop2 = require("@sphereon/did-auth-siop");
|
|
363
370
|
var import_ssi_sdk_ext4 = require("@sphereon/ssi-sdk-ext.did-utils");
|
|
364
371
|
var import_ssi_types2 = require("@sphereon/ssi-types");
|
|
372
|
+
var import_dcql = require("dcql");
|
|
365
373
|
|
|
366
374
|
// src/functions.ts
|
|
367
375
|
var import_did_auth_siop = require("@sphereon/did-auth-siop");
|
|
@@ -434,11 +442,11 @@ async function createRPBuilder(args) {
|
|
|
434
442
|
const { identifierOpts } = rpOpts;
|
|
435
443
|
let definition = args.definition;
|
|
436
444
|
let dcqlQuery = args.dcql;
|
|
437
|
-
if (!definition && pexOpts && pexOpts.
|
|
445
|
+
if (!definition && pexOpts && pexOpts.definitionId) {
|
|
438
446
|
const presentationDefinitionItems = await context.agent.pdmGetDefinitions({
|
|
439
447
|
filter: [
|
|
440
448
|
{
|
|
441
|
-
definitionId: pexOpts.
|
|
449
|
+
definitionId: pexOpts.definitionId,
|
|
442
450
|
version: pexOpts.version,
|
|
443
451
|
tenantId: pexOpts.tenantId
|
|
444
452
|
}
|
|
@@ -626,7 +634,7 @@ var RPInstance = class {
|
|
|
626
634
|
return this.definitionId !== void 0;
|
|
627
635
|
}
|
|
628
636
|
get definitionId() {
|
|
629
|
-
return this.pexOptions?.
|
|
637
|
+
return this.pexOptions?.definitionId;
|
|
630
638
|
}
|
|
631
639
|
async getPresentationDefinition(context) {
|
|
632
640
|
return this.definitionId ? await context.agent.pexStoreGetDefinition({
|
|
@@ -635,7 +643,7 @@ var RPInstance = class {
|
|
|
635
643
|
}) : void 0;
|
|
636
644
|
}
|
|
637
645
|
async createAuthorizationRequestURI(createArgs, context) {
|
|
638
|
-
const { correlationId, claims, requestByReferenceURI, responseURI, responseURIType
|
|
646
|
+
const { correlationId, claims, requestByReferenceURI, responseURI, responseURIType } = createArgs;
|
|
639
647
|
const nonce = createArgs.nonce ?? (0, import_uuid.v4)();
|
|
640
648
|
const state = createArgs.state ?? correlationId;
|
|
641
649
|
let jwtIssuer;
|
|
@@ -669,8 +677,7 @@ var RPInstance = class {
|
|
|
669
677
|
requestByReferenceURI,
|
|
670
678
|
responseURI,
|
|
671
679
|
responseURIType,
|
|
672
|
-
jwtIssuer
|
|
673
|
-
callback
|
|
680
|
+
jwtIssuer
|
|
674
681
|
}));
|
|
675
682
|
}
|
|
676
683
|
async createAuthorizationRequest(createArgs, context) {
|
|
@@ -719,7 +726,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
719
726
|
opts;
|
|
720
727
|
static _DEFAULT_OPTS_KEY = "_default";
|
|
721
728
|
instances = /* @__PURE__ */ new Map();
|
|
722
|
-
schema =
|
|
729
|
+
schema = schema.IDidAuthSiopOpAuthenticator;
|
|
723
730
|
methods = {
|
|
724
731
|
siopCreateAuthRequestURI: this.createAuthorizationRequestURI.bind(this),
|
|
725
732
|
siopCreateAuthRequestPayloads: this.createAuthorizationRequestPayloads.bind(this),
|
|
@@ -749,32 +756,30 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
749
756
|
}
|
|
750
757
|
async createAuthorizationRequestURI(createArgs, context) {
|
|
751
758
|
return await this.getRPInstance({
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
queryId: createArgs.queryId
|
|
755
|
-
}
|
|
759
|
+
definitionId: createArgs.definitionId,
|
|
760
|
+
responseRedirectURI: createArgs.responseRedirectURI
|
|
756
761
|
}, context).then((rp) => rp.createAuthorizationRequestURI(createArgs, context)).then((URI) => URI.encodedUri);
|
|
757
762
|
}
|
|
758
763
|
async createAuthorizationRequestPayloads(createArgs, context) {
|
|
759
764
|
return await this.getRPInstance({
|
|
760
|
-
|
|
765
|
+
definitionId: createArgs.definitionId
|
|
761
766
|
}, context).then((rp) => rp.createAuthorizationRequest(createArgs, context)).then(async (request) => {
|
|
762
767
|
const authRequest = {
|
|
763
768
|
authorizationRequest: request.payload,
|
|
764
769
|
requestObject: await request.requestObjectJwt(),
|
|
765
|
-
requestObjectDecoded: request.requestObject?.getPayload()
|
|
770
|
+
requestObjectDecoded: await request.requestObject?.getPayload()
|
|
766
771
|
};
|
|
767
772
|
return authRequest;
|
|
768
773
|
});
|
|
769
774
|
}
|
|
770
775
|
async siopGetRequestState(args, context) {
|
|
771
776
|
return await this.getRPInstance({
|
|
772
|
-
|
|
777
|
+
definitionId: args.definitionId
|
|
773
778
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.sessionManager.getRequestStateByCorrelationId(args.correlationId, args.errorOnNotFound)));
|
|
774
779
|
}
|
|
775
780
|
async siopGetResponseState(args, context) {
|
|
776
781
|
const rpInstance = await this.getRPInstance({
|
|
777
|
-
|
|
782
|
+
definitionId: args.definitionId
|
|
778
783
|
}, context);
|
|
779
784
|
const authorizationResponseState = await rpInstance.get(context).then((rp) => rp.sessionManager.getResponseStateByCorrelationId(args.correlationId, args.errorOnNotFound));
|
|
780
785
|
if (authorizationResponseState === void 0) {
|
|
@@ -827,11 +832,11 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
827
832
|
}
|
|
828
833
|
presentationOrClaimsFrom = /* @__PURE__ */ __name((presentationDecoded) => import_ssi_types2.CredentialMapper.isSdJwtDecodedCredential(presentationDecoded) ? presentationDecoded.decodedPayload : import_ssi_types2.CredentialMapper.toUniformPresentation(presentationDecoded), "presentationOrClaimsFrom");
|
|
829
834
|
async siopUpdateRequestState(args, context) {
|
|
830
|
-
if (args.state !== "
|
|
831
|
-
throw Error(`Only '
|
|
835
|
+
if (args.state !== "sent") {
|
|
836
|
+
throw Error(`Only 'sent' status is supported for this method at this point`);
|
|
832
837
|
}
|
|
833
838
|
return await this.getRPInstance({
|
|
834
|
-
|
|
839
|
+
definitionId: args.definitionId
|
|
835
840
|
}, context).then((rp) => rp.get(context).then(async (rp2) => {
|
|
836
841
|
await rp2.signalAuthRequestRetrieved({
|
|
837
842
|
correlationId: args.correlationId,
|
|
@@ -842,7 +847,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
842
847
|
}
|
|
843
848
|
async siopDeleteState(args, context) {
|
|
844
849
|
return await this.getRPInstance({
|
|
845
|
-
|
|
850
|
+
definitionId: args.definitionId
|
|
846
851
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.sessionManager.deleteStateForCorrelationId(args.correlationId))).then(() => true);
|
|
847
852
|
}
|
|
848
853
|
async siopVerifyAuthResponse(args, context) {
|
|
@@ -851,28 +856,38 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
851
856
|
}
|
|
852
857
|
const authResponse = typeof args.authorizationResponse === "string" ? (0, import_did_auth_siop2.decodeUriAsJson)(args.authorizationResponse) : args.authorizationResponse;
|
|
853
858
|
return await this.getRPInstance({
|
|
854
|
-
|
|
859
|
+
definitionId: args.definitionId
|
|
855
860
|
}, context).then((rp) => rp.get(context).then((rp2) => rp2.verifyAuthorizationResponse(authResponse, {
|
|
856
861
|
correlationId: args.correlationId,
|
|
857
|
-
...args.
|
|
858
|
-
|
|
859
|
-
} : {},
|
|
860
|
-
...args.dcqlQuery ? {
|
|
861
|
-
dcqlQuery: args.dcqlQuery
|
|
862
|
+
...args.dcqlQueryPayload ? {
|
|
863
|
+
dcqlQuery: args.dcqlQueryPayload.dcqlQuery
|
|
862
864
|
} : {},
|
|
863
865
|
audience: args.audience
|
|
864
866
|
})));
|
|
865
867
|
}
|
|
866
868
|
async siopImportDefinitions(args, context) {
|
|
867
|
-
const {
|
|
868
|
-
await Promise.all(
|
|
869
|
+
const { definitions, tenantId, version, versionControlMode } = args;
|
|
870
|
+
await Promise.all(definitions.map(async (definitionPair) => {
|
|
869
871
|
const definitionPayload = definitionPair.definitionPayload;
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
}
|
|
873
|
-
|
|
872
|
+
if (!definitionPayload && !definitionPair.dcqlPayload) {
|
|
873
|
+
return Promise.reject(Error("Either dcqlPayload or definitionPayload must be suppplied"));
|
|
874
|
+
}
|
|
875
|
+
let definitionId;
|
|
876
|
+
if (definitionPair.dcqlPayload) {
|
|
877
|
+
import_dcql.DcqlQuery.validate(definitionPair.dcqlPayload.dcqlQuery);
|
|
878
|
+
console.log(`persisting DCQL definition ${definitionPair.dcqlPayload.queryId} with versionControlMode ${versionControlMode}`);
|
|
879
|
+
definitionId = definitionPair.dcqlPayload.queryId;
|
|
880
|
+
}
|
|
881
|
+
if (definitionPayload) {
|
|
882
|
+
await context.agent.pexValidateDefinition({
|
|
883
|
+
definition: definitionPayload
|
|
884
|
+
});
|
|
885
|
+
console.log(`persisting PEX definition ${definitionPayload.id} / ${definitionPayload.name} with versionControlMode ${versionControlMode}`);
|
|
886
|
+
definitionId = definitionPayload.id;
|
|
887
|
+
}
|
|
874
888
|
return context.agent.pdmPersistDefinition({
|
|
875
889
|
definitionItem: {
|
|
890
|
+
definitionId,
|
|
876
891
|
tenantId,
|
|
877
892
|
version,
|
|
878
893
|
definitionPayload,
|
|
@@ -885,7 +900,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
885
900
|
}));
|
|
886
901
|
}
|
|
887
902
|
async siopGetRedirectURI(args, context) {
|
|
888
|
-
const instanceId = args.
|
|
903
|
+
const instanceId = args.definitionId ?? _SIOPv2RP._DEFAULT_OPTS_KEY;
|
|
889
904
|
if (this.instances.has(instanceId)) {
|
|
890
905
|
const rpInstance = this.instances.get(instanceId);
|
|
891
906
|
if (rpInstance !== void 0) {
|
|
@@ -901,12 +916,12 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
901
916
|
}
|
|
902
917
|
return void 0;
|
|
903
918
|
}
|
|
904
|
-
async getRPInstance({
|
|
905
|
-
const instanceId =
|
|
919
|
+
async getRPInstance({ definitionId, responseRedirectURI }, context) {
|
|
920
|
+
const instanceId = definitionId ?? _SIOPv2RP._DEFAULT_OPTS_KEY;
|
|
906
921
|
if (!this.instances.has(instanceId)) {
|
|
907
|
-
const instanceOpts = this.getInstanceOpts(
|
|
922
|
+
const instanceOpts = this.getInstanceOpts(definitionId);
|
|
908
923
|
const rpOpts = await this.getRPOptions(context, {
|
|
909
|
-
|
|
924
|
+
definitionId,
|
|
910
925
|
responseRedirectURI
|
|
911
926
|
});
|
|
912
927
|
if (!rpOpts.identifierOpts.resolveOpts?.resolver || typeof rpOpts.identifierOpts.resolveOpts.resolver.resolve !== "function") {
|
|
@@ -918,7 +933,7 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
918
933
|
...rpOpts.identifierOpts.resolveOpts
|
|
919
934
|
};
|
|
920
935
|
}
|
|
921
|
-
console.log("Using agent DID resolver for RP instance with definition id " +
|
|
936
|
+
console.log("Using agent DID resolver for RP instance with definition id " + definitionId);
|
|
922
937
|
rpOpts.identifierOpts.resolveOpts.resolver = (0, import_ssi_sdk_ext4.getAgentResolver)(context, {
|
|
923
938
|
uniresolverResolution: true,
|
|
924
939
|
localResolution: true,
|
|
@@ -937,10 +952,10 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
937
952
|
return rpInstance;
|
|
938
953
|
}
|
|
939
954
|
async getRPOptions(context, opts) {
|
|
940
|
-
const {
|
|
941
|
-
const options = this.getInstanceOpts(
|
|
955
|
+
const { definitionId, responseRedirectURI } = opts;
|
|
956
|
+
const options = this.getInstanceOpts(definitionId)?.rpOpts ?? this.opts.defaultOpts;
|
|
942
957
|
if (!options) {
|
|
943
|
-
throw Error(`Could not get specific nor default options for definition ${
|
|
958
|
+
throw Error(`Could not get specific nor default options for definition ${definitionId}`);
|
|
944
959
|
}
|
|
945
960
|
if (this.opts.defaultOpts) {
|
|
946
961
|
if (!options.identifierOpts) {
|
|
@@ -974,18 +989,18 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
974
989
|
}
|
|
975
990
|
getInstanceOpts(definitionId) {
|
|
976
991
|
if (!this.opts.instanceOpts) return void 0;
|
|
977
|
-
const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.
|
|
992
|
+
const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.definitionId === definitionId) : void 0;
|
|
978
993
|
return instanceOpt ?? this.getDefaultOptions(definitionId);
|
|
979
994
|
}
|
|
980
995
|
getDefaultOptions(definitionId) {
|
|
981
996
|
if (!this.opts.instanceOpts) return void 0;
|
|
982
|
-
const defaultOptions = this.opts.instanceOpts.find((i) => i.
|
|
997
|
+
const defaultOptions = this.opts.instanceOpts.find((i) => i.definitionId === "default");
|
|
983
998
|
if (defaultOptions) {
|
|
984
999
|
const clonedOptions = {
|
|
985
1000
|
...defaultOptions
|
|
986
1001
|
};
|
|
987
1002
|
if (definitionId !== void 0) {
|
|
988
|
-
clonedOptions.
|
|
1003
|
+
clonedOptions.definitionId = definitionId;
|
|
989
1004
|
}
|
|
990
1005
|
return clonedOptions;
|
|
991
1006
|
}
|
|
@@ -994,10 +1009,13 @@ var SIOPv2RP = class _SIOPv2RP {
|
|
|
994
1009
|
};
|
|
995
1010
|
|
|
996
1011
|
// src/types/ISIOPv2RP.ts
|
|
997
|
-
var VerifiedDataMode = /* @__PURE__ */
|
|
1012
|
+
var VerifiedDataMode = /* @__PURE__ */ function(VerifiedDataMode2) {
|
|
998
1013
|
VerifiedDataMode2["NONE"] = "none";
|
|
999
1014
|
VerifiedDataMode2["VERIFIED_PRESENTATION"] = "vp";
|
|
1000
1015
|
VerifiedDataMode2["CREDENTIAL_SUBJECT_FLATTENED"] = "cs-flat";
|
|
1001
1016
|
return VerifiedDataMode2;
|
|
1002
|
-
}
|
|
1017
|
+
}({});
|
|
1018
|
+
|
|
1019
|
+
// src/index.ts
|
|
1020
|
+
var schema = require_plugin_schema();
|
|
1003
1021
|
//# sourceMappingURL=index.cjs.map
|