@openvtc/trust-tasks 0.12.13 → 0.12.15
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/auth/passkey/enroll/start/0.1/payload.d.ts +24 -0
- package/dist/auth/passkey/enroll/start/0.1/payload.d.ts.map +1 -1
- package/dist/auth/passkey/enroll/start/0.1/payload.js +8 -0
- package/dist/auth/passkey/enroll/start/0.1/payload.js.map +1 -1
- package/dist/auth/passkey/enroll/start/0.2/payload.d.ts +48 -0
- package/dist/auth/passkey/enroll/start/0.2/payload.d.ts.map +1 -1
- package/dist/auth/passkey/enroll/start/0.2/payload.js +16 -0
- package/dist/auth/passkey/enroll/start/0.2/payload.js.map +1 -1
- package/dist/auth/passkey/login/start/0.1/payload.d.ts +24 -0
- package/dist/auth/passkey/login/start/0.1/payload.d.ts.map +1 -1
- package/dist/auth/passkey/login/start/0.1/payload.js +8 -0
- package/dist/auth/passkey/login/start/0.1/payload.js.map +1 -1
- package/dist/auth/passkey/login/start/0.2/payload.d.ts +24 -0
- package/dist/auth/passkey/login/start/0.2/payload.d.ts.map +1 -1
- package/dist/auth/passkey/login/start/0.2/payload.js +8 -0
- package/dist/auth/passkey/login/start/0.2/payload.js.map +1 -1
- package/dist/auth/passkey/revoke/start/0.1/payload.d.ts +24 -0
- package/dist/auth/passkey/revoke/start/0.1/payload.d.ts.map +1 -1
- package/dist/auth/passkey/revoke/start/0.1/payload.js +8 -0
- package/dist/auth/passkey/revoke/start/0.1/payload.js.map +1 -1
- package/dist/auth/step-up/approve-request/0.1/payload.d.ts +24 -0
- package/dist/auth/step-up/approve-request/0.1/payload.d.ts.map +1 -1
- package/dist/auth/step-up/approve-request/0.1/payload.js +8 -0
- package/dist/auth/step-up/approve-request/0.1/payload.js.map +1 -1
- package/dist/auth/step-up/approve-request/0.2/payload.d.ts +24 -0
- package/dist/auth/step-up/approve-request/0.2/payload.d.ts.map +1 -1
- package/dist/auth/step-up/approve-request/0.2/payload.js +8 -0
- package/dist/auth/step-up/approve-request/0.2/payload.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/vtc/relationships/graph/0.2/payload.d.ts +619 -0
- package/dist/vtc/relationships/graph/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/relationships/graph/0.2/payload.js +328 -0
- package/dist/vtc/relationships/graph/0.2/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/auth/passkey/enroll/start/0.1/payload.ts +16 -0
- package/src/auth/passkey/enroll/start/0.2/payload.ts +32 -0
- package/src/auth/passkey/login/start/0.1/payload.ts +16 -0
- package/src/auth/passkey/login/start/0.2/payload.ts +16 -0
- package/src/auth/passkey/revoke/start/0.1/payload.ts +16 -0
- package/src/auth/step-up/approve-request/0.1/payload.ts +16 -0
- package/src/auth/step-up/approve-request/0.2/payload.ts +16 -0
- package/src/index.ts +1 -0
- package/src/vtc/relationships/graph/0.2/payload.ts +413 -0
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/relationships/graph/0.2/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
/** Trust Task type URI. */
|
|
6
|
+
export const TYPE_URI = "https://trusttasks.org/spec/vtc/relationships/graph/0.2";
|
|
7
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
8
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/relationships/graph/0.2#response";
|
|
9
|
+
/**
|
|
10
|
+
* This specification's payload schema, as a value.
|
|
11
|
+
*
|
|
12
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
13
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
14
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
15
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
16
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
17
|
+
*/
|
|
18
|
+
export const PAYLOAD_SCHEMA = {
|
|
19
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
20
|
+
"$id": "https://trusttasks.org/spec/vtc/relationships/graph/0.2",
|
|
21
|
+
"title": "VTC Relationships Graph — payload",
|
|
22
|
+
"type": "object",
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"properties": {
|
|
25
|
+
"ext": {
|
|
26
|
+
"$ref": "#/$defs/Ext"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"$defs": {
|
|
30
|
+
"Response": {
|
|
31
|
+
"$anchor": "response",
|
|
32
|
+
"title": "VTC Relationships Graph — response payload",
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"required": [
|
|
36
|
+
"nodes",
|
|
37
|
+
"edges"
|
|
38
|
+
],
|
|
39
|
+
"properties": {
|
|
40
|
+
"nodes": {
|
|
41
|
+
"type": "array",
|
|
42
|
+
"items": {
|
|
43
|
+
"$ref": "#/$defs/GraphNode"
|
|
44
|
+
},
|
|
45
|
+
"description": "One per distinct DID appearing in a live edge. No isolated nodes."
|
|
46
|
+
},
|
|
47
|
+
"edges": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"items": {
|
|
50
|
+
"$ref": "#/$defs/GraphEdge"
|
|
51
|
+
},
|
|
52
|
+
"description": "One per **pair** of identifiers with at least one live credential between them, not one per credential."
|
|
53
|
+
},
|
|
54
|
+
"ext": {
|
|
55
|
+
"$ref": "#/$defs/Ext"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"GraphNode": {
|
|
60
|
+
"$anchor": "graphNode",
|
|
61
|
+
"title": "GraphNode",
|
|
62
|
+
"type": "object",
|
|
63
|
+
"additionalProperties": false,
|
|
64
|
+
"required": [
|
|
65
|
+
"did"
|
|
66
|
+
],
|
|
67
|
+
"properties": {
|
|
68
|
+
"did": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"minLength": 1,
|
|
71
|
+
"description": "A DID participating in at least one live relationship."
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"GraphEdge": {
|
|
76
|
+
"$anchor": "graphEdge",
|
|
77
|
+
"title": "GraphEdge",
|
|
78
|
+
"type": "object",
|
|
79
|
+
"additionalProperties": false,
|
|
80
|
+
"required": [
|
|
81
|
+
"endpoints",
|
|
82
|
+
"halves",
|
|
83
|
+
"complete"
|
|
84
|
+
],
|
|
85
|
+
"properties": {
|
|
86
|
+
"endpoints": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"pattern": "^did:"
|
|
91
|
+
},
|
|
92
|
+
"minItems": 2,
|
|
93
|
+
"maxItems": 2,
|
|
94
|
+
"description": "The two endpoints, DID-sorted. Sorting gives the pair one identity whichever half was published first. Both entries are equal only for a self-issued credential."
|
|
95
|
+
},
|
|
96
|
+
"halves": {
|
|
97
|
+
"type": "array",
|
|
98
|
+
"items": {
|
|
99
|
+
"$ref": "#/$defs/GraphHalf"
|
|
100
|
+
},
|
|
101
|
+
"minItems": 1,
|
|
102
|
+
"description": "Every credential published between the endpoints, oldest first. One for a half-edge, two for the ordinary reciprocated edge, more where a party has re-issued."
|
|
103
|
+
},
|
|
104
|
+
"complete": {
|
|
105
|
+
"type": "boolean",
|
|
106
|
+
"description": "True when both endpoints have asserted about each other. The distinction a flat list cannot make: an edge asserted by one party is a claim, and an edge asserted by both is a relationship."
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"description": "One edge between a **pair** of identifiers, carrying every half published between them.\n\n`0.1` called each credential an edge, which made a DTG edge inexpressible: the two directed halves between the same pair are one relationship, and a consumer given a flat list had to re-derive that pairing — sorting DIDs, grouping, and deciding for itself what `complete` means. Two implementations doing that independently will disagree at the margins, which is exactly the reasoning a schema exists to settle once."
|
|
110
|
+
},
|
|
111
|
+
"GraphHalf": {
|
|
112
|
+
"$anchor": "graphHalf",
|
|
113
|
+
"title": "GraphHalf",
|
|
114
|
+
"type": "object",
|
|
115
|
+
"additionalProperties": false,
|
|
116
|
+
"description": "One published relationship credential: a **directed half** of an edge, asserted by `issuerDid` about `subjectDid`.\n\nBody-free on purpose — the graph shows the shape of the trust network, not credential contents. `id` is the row identifier a revoke takes.",
|
|
117
|
+
"required": [
|
|
118
|
+
"id",
|
|
119
|
+
"issuerDid",
|
|
120
|
+
"subjectDid",
|
|
121
|
+
"createdAt"
|
|
122
|
+
],
|
|
123
|
+
"properties": {
|
|
124
|
+
"id": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"minLength": 1
|
|
127
|
+
},
|
|
128
|
+
"issuerDid": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"pattern": "^did:",
|
|
131
|
+
"description": "The asserting party."
|
|
132
|
+
},
|
|
133
|
+
"subjectDid": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"pattern": "^did:",
|
|
136
|
+
"description": "The party asserted about."
|
|
137
|
+
},
|
|
138
|
+
"createdAt": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"format": "date-time"
|
|
141
|
+
},
|
|
142
|
+
"personaDid": {
|
|
143
|
+
"type": [
|
|
144
|
+
"string",
|
|
145
|
+
"null"
|
|
146
|
+
],
|
|
147
|
+
"pattern": "^did:|^$",
|
|
148
|
+
"description": "The persona this issuer has asserted on this half, when they have.\n\nThe one place deliberate correlation becomes visible: two pairwise halves carrying the same `personaDid` are the same party, said so by that party. A consumer that cannot read it cannot honour a correlation its subject chose to publish."
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"Ext": {
|
|
153
|
+
"title": "Ext",
|
|
154
|
+
"description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
|
|
155
|
+
"type": "object",
|
|
156
|
+
"minProperties": 1,
|
|
157
|
+
"additionalProperties": true,
|
|
158
|
+
"propertyNames": {
|
|
159
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
165
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
166
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
167
|
+
"$ref": "#/$defs/Response",
|
|
168
|
+
"$defs": {
|
|
169
|
+
"Response": {
|
|
170
|
+
"$anchor": "response",
|
|
171
|
+
"title": "VTC Relationships Graph — response payload",
|
|
172
|
+
"type": "object",
|
|
173
|
+
"additionalProperties": false,
|
|
174
|
+
"required": [
|
|
175
|
+
"nodes",
|
|
176
|
+
"edges"
|
|
177
|
+
],
|
|
178
|
+
"properties": {
|
|
179
|
+
"nodes": {
|
|
180
|
+
"type": "array",
|
|
181
|
+
"items": {
|
|
182
|
+
"$ref": "#/$defs/GraphNode"
|
|
183
|
+
},
|
|
184
|
+
"description": "One per distinct DID appearing in a live edge. No isolated nodes."
|
|
185
|
+
},
|
|
186
|
+
"edges": {
|
|
187
|
+
"type": "array",
|
|
188
|
+
"items": {
|
|
189
|
+
"$ref": "#/$defs/GraphEdge"
|
|
190
|
+
},
|
|
191
|
+
"description": "One per **pair** of identifiers with at least one live credential between them, not one per credential."
|
|
192
|
+
},
|
|
193
|
+
"ext": {
|
|
194
|
+
"$ref": "#/$defs/Ext"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"GraphNode": {
|
|
199
|
+
"$anchor": "graphNode",
|
|
200
|
+
"title": "GraphNode",
|
|
201
|
+
"type": "object",
|
|
202
|
+
"additionalProperties": false,
|
|
203
|
+
"required": [
|
|
204
|
+
"did"
|
|
205
|
+
],
|
|
206
|
+
"properties": {
|
|
207
|
+
"did": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"minLength": 1,
|
|
210
|
+
"description": "A DID participating in at least one live relationship."
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"GraphEdge": {
|
|
215
|
+
"$anchor": "graphEdge",
|
|
216
|
+
"title": "GraphEdge",
|
|
217
|
+
"type": "object",
|
|
218
|
+
"additionalProperties": false,
|
|
219
|
+
"required": [
|
|
220
|
+
"endpoints",
|
|
221
|
+
"halves",
|
|
222
|
+
"complete"
|
|
223
|
+
],
|
|
224
|
+
"properties": {
|
|
225
|
+
"endpoints": {
|
|
226
|
+
"type": "array",
|
|
227
|
+
"items": {
|
|
228
|
+
"type": "string",
|
|
229
|
+
"pattern": "^did:"
|
|
230
|
+
},
|
|
231
|
+
"minItems": 2,
|
|
232
|
+
"maxItems": 2,
|
|
233
|
+
"description": "The two endpoints, DID-sorted. Sorting gives the pair one identity whichever half was published first. Both entries are equal only for a self-issued credential."
|
|
234
|
+
},
|
|
235
|
+
"halves": {
|
|
236
|
+
"type": "array",
|
|
237
|
+
"items": {
|
|
238
|
+
"$ref": "#/$defs/GraphHalf"
|
|
239
|
+
},
|
|
240
|
+
"minItems": 1,
|
|
241
|
+
"description": "Every credential published between the endpoints, oldest first. One for a half-edge, two for the ordinary reciprocated edge, more where a party has re-issued."
|
|
242
|
+
},
|
|
243
|
+
"complete": {
|
|
244
|
+
"type": "boolean",
|
|
245
|
+
"description": "True when both endpoints have asserted about each other. The distinction a flat list cannot make: an edge asserted by one party is a claim, and an edge asserted by both is a relationship."
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"description": "One edge between a **pair** of identifiers, carrying every half published between them.\n\n`0.1` called each credential an edge, which made a DTG edge inexpressible: the two directed halves between the same pair are one relationship, and a consumer given a flat list had to re-derive that pairing — sorting DIDs, grouping, and deciding for itself what `complete` means. Two implementations doing that independently will disagree at the margins, which is exactly the reasoning a schema exists to settle once."
|
|
249
|
+
},
|
|
250
|
+
"GraphHalf": {
|
|
251
|
+
"$anchor": "graphHalf",
|
|
252
|
+
"title": "GraphHalf",
|
|
253
|
+
"type": "object",
|
|
254
|
+
"additionalProperties": false,
|
|
255
|
+
"description": "One published relationship credential: a **directed half** of an edge, asserted by `issuerDid` about `subjectDid`.\n\nBody-free on purpose — the graph shows the shape of the trust network, not credential contents. `id` is the row identifier a revoke takes.",
|
|
256
|
+
"required": [
|
|
257
|
+
"id",
|
|
258
|
+
"issuerDid",
|
|
259
|
+
"subjectDid",
|
|
260
|
+
"createdAt"
|
|
261
|
+
],
|
|
262
|
+
"properties": {
|
|
263
|
+
"id": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"minLength": 1
|
|
266
|
+
},
|
|
267
|
+
"issuerDid": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"pattern": "^did:",
|
|
270
|
+
"description": "The asserting party."
|
|
271
|
+
},
|
|
272
|
+
"subjectDid": {
|
|
273
|
+
"type": "string",
|
|
274
|
+
"pattern": "^did:",
|
|
275
|
+
"description": "The party asserted about."
|
|
276
|
+
},
|
|
277
|
+
"createdAt": {
|
|
278
|
+
"type": "string",
|
|
279
|
+
"format": "date-time"
|
|
280
|
+
},
|
|
281
|
+
"personaDid": {
|
|
282
|
+
"type": [
|
|
283
|
+
"string",
|
|
284
|
+
"null"
|
|
285
|
+
],
|
|
286
|
+
"pattern": "^did:|^$",
|
|
287
|
+
"description": "The persona this issuer has asserted on this half, when they have.\n\nThe one place deliberate correlation becomes visible: two pairwise halves carrying the same `personaDid` are the same party, said so by that party. A consumer that cannot read it cannot honour a correlation its subject chose to publish."
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
"Ext": {
|
|
292
|
+
"title": "Ext",
|
|
293
|
+
"description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
|
|
294
|
+
"type": "object",
|
|
295
|
+
"minProperties": 1,
|
|
296
|
+
"additionalProperties": true,
|
|
297
|
+
"propertyNames": {
|
|
298
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
305
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
306
|
+
* per-specification and cannot be derived from the document alone, and
|
|
307
|
+
* item 2 needs the schema this carries.
|
|
308
|
+
*/
|
|
309
|
+
export const SPEC = {
|
|
310
|
+
typeUri: TYPE_URI,
|
|
311
|
+
isBearer: false,
|
|
312
|
+
isProofRequired: false,
|
|
313
|
+
isRecipientRequired: true,
|
|
314
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
318
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
319
|
+
* parties (§7.3 item 5).
|
|
320
|
+
*/
|
|
321
|
+
export const RESPONSE_SPEC = {
|
|
322
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
323
|
+
isBearer: false,
|
|
324
|
+
isProofRequired: false,
|
|
325
|
+
isRecipientRequired: true,
|
|
326
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
327
|
+
};
|
|
328
|
+
//# sourceMappingURL=payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vtc/relationships/graph/0.2/payload.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -34,6 +34,14 @@ export interface AuthPasskeyEnrollStartResponsePayload {
|
|
|
34
34
|
* PublicKeyCredentialCreationOptions for navigator.credentials.create.
|
|
35
35
|
*/
|
|
36
36
|
export interface PublicKeyCredentialCreationOptions {
|
|
37
|
+
/**
|
|
38
|
+
* Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.
|
|
39
|
+
*
|
|
40
|
+
* This component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.
|
|
41
|
+
*
|
|
42
|
+
* Structure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later.
|
|
43
|
+
*/
|
|
44
|
+
extensions?: {};
|
|
37
45
|
/**
|
|
38
46
|
* base64url-encoded one-time nonce.
|
|
39
47
|
*/
|
|
@@ -182,6 +190,10 @@ export const PAYLOAD_SCHEMA = {
|
|
|
182
190
|
"pubKeyCredParams"
|
|
183
191
|
],
|
|
184
192
|
"properties": {
|
|
193
|
+
"extensions": {
|
|
194
|
+
"type": "object",
|
|
195
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
196
|
+
},
|
|
185
197
|
"challenge": {
|
|
186
198
|
"type": "string",
|
|
187
199
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -384,6 +396,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
384
396
|
"pubKeyCredParams"
|
|
385
397
|
],
|
|
386
398
|
"properties": {
|
|
399
|
+
"extensions": {
|
|
400
|
+
"type": "object",
|
|
401
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
402
|
+
},
|
|
387
403
|
"challenge": {
|
|
388
404
|
"type": "string",
|
|
389
405
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -35,6 +35,14 @@ export interface AuthPasskeyEnrollStartResponsePayload {
|
|
|
35
35
|
* PublicKeyCredentialCreationOptions for navigator.credentials.create.
|
|
36
36
|
*/
|
|
37
37
|
export interface PublicKeyCredentialCreationOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.
|
|
40
|
+
*
|
|
41
|
+
* This component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.
|
|
42
|
+
*
|
|
43
|
+
* Structure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later.
|
|
44
|
+
*/
|
|
45
|
+
extensions?: {};
|
|
38
46
|
/**
|
|
39
47
|
* base64url-encoded one-time nonce.
|
|
40
48
|
*/
|
|
@@ -92,6 +100,14 @@ export interface PublicKeyCredentialDescriptor {
|
|
|
92
100
|
* New in 0.2. PublicKeyCredentialRequestOptions for a concurrent user-verification ceremony against the subject's EXISTING credentials. Present when the consumer requires re-authentication to add an authenticator — normally whenever the subject already has one. Absent for a first enrollment, when there is nothing to re-authenticate against. When present the producer MUST run both ceremonies and return both results to finish.
|
|
93
101
|
*/
|
|
94
102
|
export interface PublicKeyCredentialRequestOptions {
|
|
103
|
+
/**
|
|
104
|
+
* Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.
|
|
105
|
+
*
|
|
106
|
+
* This component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.
|
|
107
|
+
*
|
|
108
|
+
* Structure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later.
|
|
109
|
+
*/
|
|
110
|
+
extensions?: {};
|
|
95
111
|
/**
|
|
96
112
|
* base64url-encoded one-time nonce.
|
|
97
113
|
*/
|
|
@@ -197,6 +213,10 @@ export const PAYLOAD_SCHEMA = {
|
|
|
197
213
|
"challenge"
|
|
198
214
|
],
|
|
199
215
|
"properties": {
|
|
216
|
+
"extensions": {
|
|
217
|
+
"type": "object",
|
|
218
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
219
|
+
},
|
|
200
220
|
"challenge": {
|
|
201
221
|
"type": "string",
|
|
202
222
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -268,6 +288,10 @@ export const PAYLOAD_SCHEMA = {
|
|
|
268
288
|
"pubKeyCredParams"
|
|
269
289
|
],
|
|
270
290
|
"properties": {
|
|
291
|
+
"extensions": {
|
|
292
|
+
"type": "object",
|
|
293
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
294
|
+
},
|
|
271
295
|
"challenge": {
|
|
272
296
|
"type": "string",
|
|
273
297
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -440,6 +464,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
440
464
|
"challenge"
|
|
441
465
|
],
|
|
442
466
|
"properties": {
|
|
467
|
+
"extensions": {
|
|
468
|
+
"type": "object",
|
|
469
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
470
|
+
},
|
|
443
471
|
"challenge": {
|
|
444
472
|
"type": "string",
|
|
445
473
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -511,6 +539,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
511
539
|
"pubKeyCredParams"
|
|
512
540
|
],
|
|
513
541
|
"properties": {
|
|
542
|
+
"extensions": {
|
|
543
|
+
"type": "object",
|
|
544
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
545
|
+
},
|
|
514
546
|
"challenge": {
|
|
515
547
|
"type": "string",
|
|
516
548
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -38,6 +38,14 @@ export interface AuthPasskeyLoginStartResponsePayload {
|
|
|
38
38
|
* PublicKeyCredentialRequestOptions for navigator.credentials.get.
|
|
39
39
|
*/
|
|
40
40
|
export interface PublicKeyCredentialRequestOptions {
|
|
41
|
+
/**
|
|
42
|
+
* Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.
|
|
43
|
+
*
|
|
44
|
+
* This component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.
|
|
45
|
+
*
|
|
46
|
+
* Structure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later.
|
|
47
|
+
*/
|
|
48
|
+
extensions?: {};
|
|
41
49
|
/**
|
|
42
50
|
* base64url-encoded one-time nonce.
|
|
43
51
|
*/
|
|
@@ -156,6 +164,10 @@ export const PAYLOAD_SCHEMA = {
|
|
|
156
164
|
"challenge"
|
|
157
165
|
],
|
|
158
166
|
"properties": {
|
|
167
|
+
"extensions": {
|
|
168
|
+
"type": "object",
|
|
169
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
170
|
+
},
|
|
159
171
|
"challenge": {
|
|
160
172
|
"type": "string",
|
|
161
173
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -268,6 +280,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
268
280
|
"challenge"
|
|
269
281
|
],
|
|
270
282
|
"properties": {
|
|
283
|
+
"extensions": {
|
|
284
|
+
"type": "object",
|
|
285
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
286
|
+
},
|
|
271
287
|
"challenge": {
|
|
272
288
|
"type": "string",
|
|
273
289
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -38,6 +38,14 @@ export interface AuthPasskeyLoginStartResponsePayload {
|
|
|
38
38
|
* PublicKeyCredentialRequestOptions for navigator.credentials.get.
|
|
39
39
|
*/
|
|
40
40
|
export interface PublicKeyCredentialRequestOptions {
|
|
41
|
+
/**
|
|
42
|
+
* Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.
|
|
43
|
+
*
|
|
44
|
+
* This component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.
|
|
45
|
+
*
|
|
46
|
+
* Structure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later.
|
|
47
|
+
*/
|
|
48
|
+
extensions?: {};
|
|
41
49
|
/**
|
|
42
50
|
* base64url-encoded one-time nonce.
|
|
43
51
|
*/
|
|
@@ -156,6 +164,10 @@ export const PAYLOAD_SCHEMA = {
|
|
|
156
164
|
"challenge"
|
|
157
165
|
],
|
|
158
166
|
"properties": {
|
|
167
|
+
"extensions": {
|
|
168
|
+
"type": "object",
|
|
169
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
170
|
+
},
|
|
159
171
|
"challenge": {
|
|
160
172
|
"type": "string",
|
|
161
173
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -268,6 +280,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
268
280
|
"challenge"
|
|
269
281
|
],
|
|
270
282
|
"properties": {
|
|
283
|
+
"extensions": {
|
|
284
|
+
"type": "object",
|
|
285
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
286
|
+
},
|
|
271
287
|
"challenge": {
|
|
272
288
|
"type": "string",
|
|
273
289
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -34,6 +34,14 @@ export interface AuthPasskeyRevokeStartResponsePayload {
|
|
|
34
34
|
* PublicKeyCredentialRequestOptions for navigator.credentials.get — a fresh user-verification ceremony proving a human with an enrolled authenticator is present right now. userVerification SHOULD be "required".
|
|
35
35
|
*/
|
|
36
36
|
export interface PublicKeyCredentialRequestOptions {
|
|
37
|
+
/**
|
|
38
|
+
* Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.
|
|
39
|
+
*
|
|
40
|
+
* This component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.
|
|
41
|
+
*
|
|
42
|
+
* Structure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later.
|
|
43
|
+
*/
|
|
44
|
+
extensions?: {};
|
|
37
45
|
/**
|
|
38
46
|
* base64url-encoded one-time nonce.
|
|
39
47
|
*/
|
|
@@ -147,6 +155,10 @@ export const PAYLOAD_SCHEMA = {
|
|
|
147
155
|
"challenge"
|
|
148
156
|
],
|
|
149
157
|
"properties": {
|
|
158
|
+
"extensions": {
|
|
159
|
+
"type": "object",
|
|
160
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
161
|
+
},
|
|
150
162
|
"challenge": {
|
|
151
163
|
"type": "string",
|
|
152
164
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -259,6 +271,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
259
271
|
"challenge"
|
|
260
272
|
],
|
|
261
273
|
"properties": {
|
|
274
|
+
"extensions": {
|
|
275
|
+
"type": "object",
|
|
276
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
277
|
+
},
|
|
262
278
|
"challenge": {
|
|
263
279
|
"type": "string",
|
|
264
280
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -44,6 +44,14 @@ export interface AuthStepUpApproveRequest {
|
|
|
44
44
|
* Optional WebAuthn `PublicKeyCredentialRequestOptions` the approver passes to the platform passkey API when producing `webauthn` evidence. When present, its `challenge` MUST equal `payload.challenge` so the resulting assertion binds the same nonce the relying party bound server-side. `rpId`/`allowCredentials` identify which credential the approver should assert with.
|
|
45
45
|
*/
|
|
46
46
|
export interface PublicKeyCredentialRequestOptions {
|
|
47
|
+
/**
|
|
48
|
+
* Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.
|
|
49
|
+
*
|
|
50
|
+
* This component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.
|
|
51
|
+
*
|
|
52
|
+
* Structure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later.
|
|
53
|
+
*/
|
|
54
|
+
extensions?: {};
|
|
47
55
|
/**
|
|
48
56
|
* base64url-encoded one-time nonce.
|
|
49
57
|
*/
|
|
@@ -215,6 +223,10 @@ export const PAYLOAD_SCHEMA = {
|
|
|
215
223
|
"challenge"
|
|
216
224
|
],
|
|
217
225
|
"properties": {
|
|
226
|
+
"extensions": {
|
|
227
|
+
"type": "object",
|
|
228
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
229
|
+
},
|
|
218
230
|
"challenge": {
|
|
219
231
|
"type": "string",
|
|
220
232
|
"description": "base64url-encoded one-time nonce."
|
|
@@ -328,6 +340,10 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
328
340
|
"challenge"
|
|
329
341
|
],
|
|
330
342
|
"properties": {
|
|
343
|
+
"extensions": {
|
|
344
|
+
"type": "object",
|
|
345
|
+
"description": "Client extension inputs, per the WebAuthn Level 2 `AuthenticationExtensionsClientInputs` dictionary.\n\nThis component states that it mirrors the W3C dictionary, and that dictionary defines `extensions`. Omitting it while closing the object with `additionalProperties: false` made the two claims contradict each other: a server emitting standard WebAuthn options could not conform, and the widely-used server libraries emit this member by default.\n\nStructure is deliberately unconstrained. The set of extensions is open and registered outside this framework, so enumerating them here would date the schema against a registry it does not own — and a closed list would reproduce the original defect one revision later."
|
|
346
|
+
},
|
|
331
347
|
"challenge": {
|
|
332
348
|
"type": "string",
|
|
333
349
|
"description": "base64url-encoded one-time nonce."
|