@eudiplo/cli 9.1.0-main.b08ff89 → 9.1.0-main.c121f07
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.js +808 -2
- package/package.json +1 -1
- package/templates/demo-config/clients/test.json +2 -1
- package/templates/demo-config/presentation/age-over-18.json +10 -0
- package/templates/schemas/CreateTenantDto.schema.json +1 -1
- package/templates/schemas/CredentialConfigCreate.schema.json +6 -5
- package/templates/schemas/CredentialConfigFile.schema.json +796 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"properties": {
|
|
10
10
|
"$schema": {
|
|
11
11
|
"type": "string",
|
|
12
|
-
"const": "https://eudiplo.dev/schemas/
|
|
12
|
+
"const": "https://eudiplo.dev/schemas/v2/CredentialConfigFile.schema.json"
|
|
13
13
|
},
|
|
14
14
|
"metadata": {
|
|
15
15
|
"type": "object",
|
|
@@ -55,6 +55,801 @@
|
|
|
55
55
|
"spec"
|
|
56
56
|
],
|
|
57
57
|
"additionalProperties": false
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
61
|
+
"$id": "https://eudiplo.dev/schemas/v1/CredentialConfigFile.schema.json",
|
|
62
|
+
"title": "CredentialConfigFile",
|
|
63
|
+
"type": "object",
|
|
64
|
+
"properties": {
|
|
65
|
+
"$schema": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"const": "https://eudiplo.dev/schemas/v1/CredentialConfigFile.schema.json"
|
|
68
|
+
},
|
|
69
|
+
"metadata": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"properties": {
|
|
72
|
+
"generation": {
|
|
73
|
+
"type": "integer",
|
|
74
|
+
"minimum": 1,
|
|
75
|
+
"description": "Monotonically increasing configuration generation."
|
|
76
|
+
},
|
|
77
|
+
"ownership": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"enum": [
|
|
80
|
+
"unmanaged",
|
|
81
|
+
"file-managed"
|
|
82
|
+
],
|
|
83
|
+
"description": "Requested ownership recorded when the document is applied."
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"additionalProperties": false
|
|
87
|
+
},
|
|
88
|
+
"spec": {
|
|
89
|
+
"allOf": [
|
|
90
|
+
{
|
|
91
|
+
"$ref": "#/$defs/CredentialConfigCreate"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "object",
|
|
95
|
+
"required": [
|
|
96
|
+
"id"
|
|
97
|
+
],
|
|
98
|
+
"properties": {
|
|
99
|
+
"id": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"minLength": 1
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"required": [
|
|
109
|
+
"$schema",
|
|
110
|
+
"spec"
|
|
111
|
+
],
|
|
112
|
+
"additionalProperties": false,
|
|
113
|
+
"$defs": {
|
|
114
|
+
"CredentialConfigCreate": {
|
|
115
|
+
"type": "object",
|
|
116
|
+
"properties": {
|
|
117
|
+
"id": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"minLength": 1,
|
|
120
|
+
"description": "Credential configuration identifier."
|
|
121
|
+
},
|
|
122
|
+
"description": {
|
|
123
|
+
"description": "Optional description for operators and tooling.",
|
|
124
|
+
"type": [
|
|
125
|
+
"string",
|
|
126
|
+
"null"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"config": {
|
|
130
|
+
"type": "object",
|
|
131
|
+
"properties": {
|
|
132
|
+
"format": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"enum": [
|
|
135
|
+
"mso_mdoc",
|
|
136
|
+
"dc+sd-jwt"
|
|
137
|
+
],
|
|
138
|
+
"description": "Credential format emitted by this configuration."
|
|
139
|
+
},
|
|
140
|
+
"display": {
|
|
141
|
+
"type": "array",
|
|
142
|
+
"items": {
|
|
143
|
+
"type": "object",
|
|
144
|
+
"properties": {
|
|
145
|
+
"locale": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"minLength": 1,
|
|
148
|
+
"description": "Locale tag for the display entry."
|
|
149
|
+
},
|
|
150
|
+
"name": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"minLength": 1,
|
|
153
|
+
"description": "Human-readable field name."
|
|
154
|
+
},
|
|
155
|
+
"description": {
|
|
156
|
+
"description": "Optional field description for this locale.",
|
|
157
|
+
"type": "string"
|
|
158
|
+
},
|
|
159
|
+
"background_color": {
|
|
160
|
+
"description": "Optional background color for card-style rendering.",
|
|
161
|
+
"type": "string"
|
|
162
|
+
},
|
|
163
|
+
"text_color": {
|
|
164
|
+
"description": "Optional text color for card-style rendering.",
|
|
165
|
+
"type": "string"
|
|
166
|
+
},
|
|
167
|
+
"background_image": {
|
|
168
|
+
"description": "Optional background image.",
|
|
169
|
+
"type": "object",
|
|
170
|
+
"properties": {
|
|
171
|
+
"uri": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"minLength": 1,
|
|
174
|
+
"description": "Image URI."
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"required": [
|
|
178
|
+
"uri"
|
|
179
|
+
],
|
|
180
|
+
"additionalProperties": false
|
|
181
|
+
},
|
|
182
|
+
"logo": {
|
|
183
|
+
"description": "Optional logo image.",
|
|
184
|
+
"type": "object",
|
|
185
|
+
"properties": {
|
|
186
|
+
"uri": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"minLength": 1,
|
|
189
|
+
"description": "Image URI."
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"required": [
|
|
193
|
+
"uri"
|
|
194
|
+
],
|
|
195
|
+
"additionalProperties": false
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"required": [
|
|
199
|
+
"locale",
|
|
200
|
+
"name"
|
|
201
|
+
],
|
|
202
|
+
"additionalProperties": false
|
|
203
|
+
},
|
|
204
|
+
"description": "Display metadata shown by wallets."
|
|
205
|
+
},
|
|
206
|
+
"scope": {
|
|
207
|
+
"description": "Optional OAuth scope associated with this credential type.",
|
|
208
|
+
"type": "string"
|
|
209
|
+
},
|
|
210
|
+
"docType": {
|
|
211
|
+
"description": "Optional mDoc document type.",
|
|
212
|
+
"type": "string"
|
|
213
|
+
},
|
|
214
|
+
"keyAttestationsRequired": {
|
|
215
|
+
"description": "Optional key attestation requirements.",
|
|
216
|
+
"type": "object",
|
|
217
|
+
"properties": {
|
|
218
|
+
"key_storage": {
|
|
219
|
+
"description": "Required key storage attestations.",
|
|
220
|
+
"type": "array",
|
|
221
|
+
"items": {
|
|
222
|
+
"type": "string"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"user_authentication": {
|
|
226
|
+
"description": "Required user authentication attestations.",
|
|
227
|
+
"type": "array",
|
|
228
|
+
"items": {
|
|
229
|
+
"type": "string"
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
"additionalProperties": false
|
|
234
|
+
},
|
|
235
|
+
"proofTypesSupported": {
|
|
236
|
+
"description": "Supported proof types for issuance requests.",
|
|
237
|
+
"type": "array",
|
|
238
|
+
"items": {
|
|
239
|
+
"type": "string",
|
|
240
|
+
"enum": [
|
|
241
|
+
"jwt",
|
|
242
|
+
"attestation"
|
|
243
|
+
]
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
"credentialReusePolicy": {
|
|
247
|
+
"description": "Optional PID/EAA reuse policy published in credential metadata.",
|
|
248
|
+
"type": "object",
|
|
249
|
+
"properties": {
|
|
250
|
+
"id": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"minLength": 1
|
|
253
|
+
},
|
|
254
|
+
"options": {
|
|
255
|
+
"type": "array",
|
|
256
|
+
"items": {
|
|
257
|
+
"type": "object",
|
|
258
|
+
"properties": {
|
|
259
|
+
"details": {
|
|
260
|
+
"minItems": 1,
|
|
261
|
+
"type": "array",
|
|
262
|
+
"items": {
|
|
263
|
+
"type": "string",
|
|
264
|
+
"enum": [
|
|
265
|
+
"once_only",
|
|
266
|
+
"limited_time",
|
|
267
|
+
"limited-time",
|
|
268
|
+
"rotating-batch",
|
|
269
|
+
"per-relying-party"
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"batch_size": {
|
|
274
|
+
"type": "integer",
|
|
275
|
+
"minimum": 2,
|
|
276
|
+
"maximum": 9007199254740991
|
|
277
|
+
},
|
|
278
|
+
"reissue_trigger_unused": {
|
|
279
|
+
"type": "integer",
|
|
280
|
+
"minimum": 0,
|
|
281
|
+
"maximum": 9007199254740991
|
|
282
|
+
},
|
|
283
|
+
"reissue_trigger_lifetime_left": {
|
|
284
|
+
"type": "integer",
|
|
285
|
+
"minimum": 0,
|
|
286
|
+
"maximum": 9007199254740991
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"required": [
|
|
290
|
+
"details"
|
|
291
|
+
],
|
|
292
|
+
"additionalProperties": false
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
"required": [
|
|
297
|
+
"id"
|
|
298
|
+
],
|
|
299
|
+
"additionalProperties": false
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"required": [
|
|
303
|
+
"format",
|
|
304
|
+
"display"
|
|
305
|
+
],
|
|
306
|
+
"additionalProperties": false,
|
|
307
|
+
"description": "Issuer metadata-facing credential configuration."
|
|
308
|
+
},
|
|
309
|
+
"fields": {
|
|
310
|
+
"type": "array",
|
|
311
|
+
"items": {
|
|
312
|
+
"$ref": "#/$defs/CredentialConfigCreate/$defs/__schema0"
|
|
313
|
+
},
|
|
314
|
+
"description": "Claim field definitions for credential issuance."
|
|
315
|
+
},
|
|
316
|
+
"attributeProviderId": {
|
|
317
|
+
"description": "Optional attribute provider id used to resolve claim values.",
|
|
318
|
+
"type": [
|
|
319
|
+
"string",
|
|
320
|
+
"null"
|
|
321
|
+
]
|
|
322
|
+
},
|
|
323
|
+
"webhookEndpointId": {
|
|
324
|
+
"description": "Optional webhook endpoint id notified during issuance events.",
|
|
325
|
+
"type": [
|
|
326
|
+
"string",
|
|
327
|
+
"null"
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
"vct": {
|
|
331
|
+
"description": "Optional VCT value or structured VCT metadata.",
|
|
332
|
+
"anyOf": [
|
|
333
|
+
{
|
|
334
|
+
"type": "string"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"type": "object",
|
|
338
|
+
"properties": {
|
|
339
|
+
"vct": {
|
|
340
|
+
"description": "VCT identifier.",
|
|
341
|
+
"type": "string"
|
|
342
|
+
},
|
|
343
|
+
"name": {
|
|
344
|
+
"description": "Human-readable VCT name.",
|
|
345
|
+
"type": "string"
|
|
346
|
+
},
|
|
347
|
+
"description": {
|
|
348
|
+
"description": "Optional VCT description.",
|
|
349
|
+
"type": "string"
|
|
350
|
+
},
|
|
351
|
+
"extends": {
|
|
352
|
+
"description": "Optional base VCT reference.",
|
|
353
|
+
"type": "string"
|
|
354
|
+
},
|
|
355
|
+
"extends#integrity": {
|
|
356
|
+
"description": "Integrity hash for the extends reference.",
|
|
357
|
+
"type": "string"
|
|
358
|
+
},
|
|
359
|
+
"schema_uri": {
|
|
360
|
+
"description": "Optional schema URI for the VCT.",
|
|
361
|
+
"type": "string"
|
|
362
|
+
},
|
|
363
|
+
"schema_uri#integrity": {
|
|
364
|
+
"description": "Integrity hash for schema_uri.",
|
|
365
|
+
"type": "string"
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"additionalProperties": false
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"type": "null"
|
|
372
|
+
}
|
|
373
|
+
]
|
|
374
|
+
},
|
|
375
|
+
"keyBinding": {
|
|
376
|
+
"description": "Enable key binding requirements.",
|
|
377
|
+
"type": "boolean"
|
|
378
|
+
},
|
|
379
|
+
"keyChainId": {
|
|
380
|
+
"description": "Optional key chain id used for credential signing.",
|
|
381
|
+
"type": "string",
|
|
382
|
+
"minLength": 1
|
|
383
|
+
},
|
|
384
|
+
"statusManagement": {
|
|
385
|
+
"description": "Enable status management for issued credentials.",
|
|
386
|
+
"type": "boolean"
|
|
387
|
+
},
|
|
388
|
+
"activeCredentials": {
|
|
389
|
+
"description": "Optional issuer-side policy limiting simultaneously active credentials per subject. Requires statusManagement.",
|
|
390
|
+
"anyOf": [
|
|
391
|
+
{
|
|
392
|
+
"type": "object",
|
|
393
|
+
"properties": {
|
|
394
|
+
"enabled": {
|
|
395
|
+
"type": "boolean",
|
|
396
|
+
"description": "Ensure a subject has at most one active credential of this configuration."
|
|
397
|
+
},
|
|
398
|
+
"tracking": {
|
|
399
|
+
"description": "How the subject's active credential set is tracked. Only 'internal' (pseudonymous, issuer-side) is currently supported.",
|
|
400
|
+
"type": "string",
|
|
401
|
+
"enum": [
|
|
402
|
+
"internal"
|
|
403
|
+
]
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
"required": [
|
|
407
|
+
"enabled"
|
|
408
|
+
],
|
|
409
|
+
"additionalProperties": false,
|
|
410
|
+
"description": "Issuer-side policy limiting the number of simultaneously active credentials per subject."
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"type": "null"
|
|
414
|
+
}
|
|
415
|
+
]
|
|
416
|
+
},
|
|
417
|
+
"iaeActions": {
|
|
418
|
+
"description": "Optional in-app experience actions for wallet flows.",
|
|
419
|
+
"anyOf": [
|
|
420
|
+
{
|
|
421
|
+
"type": "array",
|
|
422
|
+
"items": {
|
|
423
|
+
"oneOf": [
|
|
424
|
+
{
|
|
425
|
+
"type": "object",
|
|
426
|
+
"properties": {
|
|
427
|
+
"type": {
|
|
428
|
+
"type": "string",
|
|
429
|
+
"const": "openid4vp_presentation",
|
|
430
|
+
"description": "Trigger an OpenID4VP presentation action."
|
|
431
|
+
},
|
|
432
|
+
"label": {
|
|
433
|
+
"description": "Optional UI label for the action.",
|
|
434
|
+
"type": "string"
|
|
435
|
+
},
|
|
436
|
+
"presentationConfigId": {
|
|
437
|
+
"type": "string",
|
|
438
|
+
"minLength": 1,
|
|
439
|
+
"description": "Presentation configuration id to execute."
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
"required": [
|
|
443
|
+
"type",
|
|
444
|
+
"presentationConfigId"
|
|
445
|
+
],
|
|
446
|
+
"additionalProperties": false
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"type": "object",
|
|
450
|
+
"properties": {
|
|
451
|
+
"type": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"const": "redirect_to_web",
|
|
454
|
+
"description": "Trigger a redirect-to-web action."
|
|
455
|
+
},
|
|
456
|
+
"label": {
|
|
457
|
+
"description": "Optional UI label for the action.",
|
|
458
|
+
"type": "string"
|
|
459
|
+
},
|
|
460
|
+
"url": {
|
|
461
|
+
"type": "string",
|
|
462
|
+
"format": "uri",
|
|
463
|
+
"description": "Destination URL for the redirect action."
|
|
464
|
+
},
|
|
465
|
+
"callbackUrl": {
|
|
466
|
+
"description": "Optional callback URL after redirect completion.",
|
|
467
|
+
"type": "string",
|
|
468
|
+
"format": "uri"
|
|
469
|
+
},
|
|
470
|
+
"description": {
|
|
471
|
+
"description": "Optional action description.",
|
|
472
|
+
"type": "string"
|
|
473
|
+
}
|
|
474
|
+
},
|
|
475
|
+
"required": [
|
|
476
|
+
"type",
|
|
477
|
+
"url"
|
|
478
|
+
],
|
|
479
|
+
"additionalProperties": false
|
|
480
|
+
}
|
|
481
|
+
],
|
|
482
|
+
"description": "In-app experience action definitions."
|
|
483
|
+
}
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"type": "null"
|
|
487
|
+
}
|
|
488
|
+
]
|
|
489
|
+
},
|
|
490
|
+
"sdJwtTrustFormat": {
|
|
491
|
+
"description": "Trust format used for SD-JWT verification metadata.",
|
|
492
|
+
"anyOf": [
|
|
493
|
+
{
|
|
494
|
+
"type": "string",
|
|
495
|
+
"enum": [
|
|
496
|
+
"x5c",
|
|
497
|
+
"federation"
|
|
498
|
+
]
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"type": "null"
|
|
502
|
+
}
|
|
503
|
+
]
|
|
504
|
+
},
|
|
505
|
+
"lifeTime": {
|
|
506
|
+
"description": "Credential lifetime in seconds.",
|
|
507
|
+
"type": "integer",
|
|
508
|
+
"minimum": 1,
|
|
509
|
+
"maximum": 9007199254740991
|
|
510
|
+
},
|
|
511
|
+
"schemaMeta": {
|
|
512
|
+
"description": "Optional schema metadata and trust bindings.",
|
|
513
|
+
"anyOf": [
|
|
514
|
+
{
|
|
515
|
+
"type": "object",
|
|
516
|
+
"properties": {
|
|
517
|
+
"id": {
|
|
518
|
+
"description": "Optional schema metadata identifier.",
|
|
519
|
+
"type": "string"
|
|
520
|
+
},
|
|
521
|
+
"name": {
|
|
522
|
+
"description": "Optional schema metadata name.",
|
|
523
|
+
"type": "string"
|
|
524
|
+
},
|
|
525
|
+
"version": {
|
|
526
|
+
"type": "string",
|
|
527
|
+
"description": "Schema metadata version."
|
|
528
|
+
},
|
|
529
|
+
"rulebookURI": {
|
|
530
|
+
"description": "Optional rulebook URI reference.",
|
|
531
|
+
"type": "string"
|
|
532
|
+
},
|
|
533
|
+
"attestationLoS": {
|
|
534
|
+
"type": "string",
|
|
535
|
+
"enum": [
|
|
536
|
+
"iso_18045_high",
|
|
537
|
+
"iso_18045_moderate",
|
|
538
|
+
"iso_18045_enhanced-basic",
|
|
539
|
+
"iso_18045_basic"
|
|
540
|
+
],
|
|
541
|
+
"description": "Assurance level for attestation requirements."
|
|
542
|
+
},
|
|
543
|
+
"bindingType": {
|
|
544
|
+
"type": "string",
|
|
545
|
+
"enum": [
|
|
546
|
+
"claim",
|
|
547
|
+
"key",
|
|
548
|
+
"biometric",
|
|
549
|
+
"none"
|
|
550
|
+
],
|
|
551
|
+
"description": "Subject binding type."
|
|
552
|
+
},
|
|
553
|
+
"schemaURIs": {
|
|
554
|
+
"description": "Optional schema URI entries.",
|
|
555
|
+
"type": "array",
|
|
556
|
+
"items": {
|
|
557
|
+
"type": "object",
|
|
558
|
+
"properties": {
|
|
559
|
+
"credentialConfigId": {
|
|
560
|
+
"description": "Optional credential configuration id this schema URI applies to.",
|
|
561
|
+
"type": "string"
|
|
562
|
+
},
|
|
563
|
+
"format": {
|
|
564
|
+
"description": "Optional credential format for this schema URI.",
|
|
565
|
+
"type": "string"
|
|
566
|
+
},
|
|
567
|
+
"uri": {
|
|
568
|
+
"description": "Schema URI reference.",
|
|
569
|
+
"type": "string"
|
|
570
|
+
},
|
|
571
|
+
"meta": {
|
|
572
|
+
"description": "Optional metadata attached to the schema URI.",
|
|
573
|
+
"type": "object",
|
|
574
|
+
"propertyNames": {
|
|
575
|
+
"type": "string"
|
|
576
|
+
},
|
|
577
|
+
"additionalProperties": {}
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
"additionalProperties": false
|
|
581
|
+
}
|
|
582
|
+
},
|
|
583
|
+
"trustedAuthorities": {
|
|
584
|
+
"description": "Optional trusted authority entries.",
|
|
585
|
+
"type": "array",
|
|
586
|
+
"items": {
|
|
587
|
+
"type": "object",
|
|
588
|
+
"properties": {
|
|
589
|
+
"trustListId": {
|
|
590
|
+
"description": "Optional trust list id.",
|
|
591
|
+
"type": "string"
|
|
592
|
+
},
|
|
593
|
+
"frameworkType": {
|
|
594
|
+
"description": "Trust framework type.",
|
|
595
|
+
"type": "string",
|
|
596
|
+
"enum": [
|
|
597
|
+
"aki",
|
|
598
|
+
"etsi_tl",
|
|
599
|
+
"openid_federation"
|
|
600
|
+
]
|
|
601
|
+
},
|
|
602
|
+
"value": {
|
|
603
|
+
"description": "Framework-specific authority value.",
|
|
604
|
+
"type": "string"
|
|
605
|
+
},
|
|
606
|
+
"verificationMethod": {
|
|
607
|
+
"description": "Verification method descriptor.",
|
|
608
|
+
"anyOf": [
|
|
609
|
+
{
|
|
610
|
+
"type": "object",
|
|
611
|
+
"propertyNames": {
|
|
612
|
+
"type": "string"
|
|
613
|
+
},
|
|
614
|
+
"additionalProperties": {}
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"type": "string"
|
|
618
|
+
}
|
|
619
|
+
]
|
|
620
|
+
}
|
|
621
|
+
},
|
|
622
|
+
"additionalProperties": false
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
},
|
|
626
|
+
"required": [
|
|
627
|
+
"version",
|
|
628
|
+
"attestationLoS",
|
|
629
|
+
"bindingType"
|
|
630
|
+
],
|
|
631
|
+
"additionalProperties": false
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"type": "null"
|
|
635
|
+
}
|
|
636
|
+
]
|
|
637
|
+
},
|
|
638
|
+
"embeddedDisclosurePolicy": {
|
|
639
|
+
"description": "Optional embedded disclosure policy.",
|
|
640
|
+
"anyOf": [
|
|
641
|
+
{
|
|
642
|
+
"oneOf": [
|
|
643
|
+
{
|
|
644
|
+
"type": "object",
|
|
645
|
+
"properties": {
|
|
646
|
+
"policy": {
|
|
647
|
+
"type": "string",
|
|
648
|
+
"const": "attestationBased",
|
|
649
|
+
"description": "Attestation-based policy discriminator."
|
|
650
|
+
},
|
|
651
|
+
"values": {
|
|
652
|
+
"type": "array",
|
|
653
|
+
"items": {
|
|
654
|
+
"type": "object",
|
|
655
|
+
"properties": {
|
|
656
|
+
"claims": {
|
|
657
|
+
"description": "Claims constraints considered by policy evaluation.",
|
|
658
|
+
"type": "array",
|
|
659
|
+
"items": {}
|
|
660
|
+
},
|
|
661
|
+
"credentials": {
|
|
662
|
+
"type": "array",
|
|
663
|
+
"items": {},
|
|
664
|
+
"description": "Credential constraints considered by policy evaluation."
|
|
665
|
+
},
|
|
666
|
+
"credential_sets": {
|
|
667
|
+
"description": "Optional credential set constraints.",
|
|
668
|
+
"type": "array",
|
|
669
|
+
"items": {}
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
"required": [
|
|
673
|
+
"credentials"
|
|
674
|
+
],
|
|
675
|
+
"additionalProperties": false
|
|
676
|
+
},
|
|
677
|
+
"description": "Attestation requirements used for policy enforcement."
|
|
678
|
+
}
|
|
679
|
+
},
|
|
680
|
+
"required": [
|
|
681
|
+
"policy",
|
|
682
|
+
"values"
|
|
683
|
+
],
|
|
684
|
+
"additionalProperties": false
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"type": "object",
|
|
688
|
+
"properties": {
|
|
689
|
+
"policy": {
|
|
690
|
+
"type": "string",
|
|
691
|
+
"const": "none",
|
|
692
|
+
"description": "No disclosure policy enforcement."
|
|
693
|
+
}
|
|
694
|
+
},
|
|
695
|
+
"required": [
|
|
696
|
+
"policy"
|
|
697
|
+
],
|
|
698
|
+
"additionalProperties": false
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"type": "object",
|
|
702
|
+
"properties": {
|
|
703
|
+
"policy": {
|
|
704
|
+
"type": "string",
|
|
705
|
+
"const": "allowList",
|
|
706
|
+
"description": "Allow-list based policy discriminator."
|
|
707
|
+
},
|
|
708
|
+
"values": {
|
|
709
|
+
"type": "array",
|
|
710
|
+
"items": {
|
|
711
|
+
"type": "string"
|
|
712
|
+
},
|
|
713
|
+
"description": "Allowed values for policy checks."
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
"required": [
|
|
717
|
+
"policy",
|
|
718
|
+
"values"
|
|
719
|
+
],
|
|
720
|
+
"additionalProperties": false
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"type": "object",
|
|
724
|
+
"properties": {
|
|
725
|
+
"policy": {
|
|
726
|
+
"type": "string",
|
|
727
|
+
"const": "rootOfTrust",
|
|
728
|
+
"description": "Root-of-trust policy discriminator."
|
|
729
|
+
},
|
|
730
|
+
"values": {
|
|
731
|
+
"type": "string",
|
|
732
|
+
"description": "Root-of-trust identifier or reference."
|
|
733
|
+
}
|
|
734
|
+
},
|
|
735
|
+
"required": [
|
|
736
|
+
"policy",
|
|
737
|
+
"values"
|
|
738
|
+
],
|
|
739
|
+
"additionalProperties": false
|
|
740
|
+
}
|
|
741
|
+
],
|
|
742
|
+
"description": "Embedded disclosure policy configuration."
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"type": "null"
|
|
746
|
+
}
|
|
747
|
+
]
|
|
748
|
+
}
|
|
749
|
+
},
|
|
750
|
+
"required": [
|
|
751
|
+
"id",
|
|
752
|
+
"config",
|
|
753
|
+
"fields"
|
|
754
|
+
],
|
|
755
|
+
"additionalProperties": false,
|
|
756
|
+
"description": "Payload for creating credential issuance configuration.",
|
|
757
|
+
"$defs": {
|
|
758
|
+
"__schema0": {
|
|
759
|
+
"type": "object",
|
|
760
|
+
"properties": {
|
|
761
|
+
"path": {
|
|
762
|
+
"type": "array",
|
|
763
|
+
"items": {
|
|
764
|
+
"type": [
|
|
765
|
+
"string",
|
|
766
|
+
"number",
|
|
767
|
+
"null"
|
|
768
|
+
]
|
|
769
|
+
},
|
|
770
|
+
"description": "Path to this claim inside the credential payload."
|
|
771
|
+
},
|
|
772
|
+
"type": {
|
|
773
|
+
"type": "string",
|
|
774
|
+
"enum": [
|
|
775
|
+
"string",
|
|
776
|
+
"number",
|
|
777
|
+
"integer",
|
|
778
|
+
"boolean",
|
|
779
|
+
"object",
|
|
780
|
+
"array"
|
|
781
|
+
],
|
|
782
|
+
"description": "Data type of the claim value."
|
|
783
|
+
},
|
|
784
|
+
"defaultValue": {
|
|
785
|
+
"description": "Optional default value for this field."
|
|
786
|
+
},
|
|
787
|
+
"mandatory": {
|
|
788
|
+
"description": "Whether the field is required at issuance time.",
|
|
789
|
+
"type": "boolean"
|
|
790
|
+
},
|
|
791
|
+
"disclosable": {
|
|
792
|
+
"description": "Whether the claim is selectively disclosable.",
|
|
793
|
+
"type": "boolean"
|
|
794
|
+
},
|
|
795
|
+
"namespace": {
|
|
796
|
+
"description": "Optional namespace for claim grouping.",
|
|
797
|
+
"type": "string"
|
|
798
|
+
},
|
|
799
|
+
"display": {
|
|
800
|
+
"description": "Localized display metadata for this field.",
|
|
801
|
+
"type": "array",
|
|
802
|
+
"items": {
|
|
803
|
+
"type": "object",
|
|
804
|
+
"properties": {
|
|
805
|
+
"locale": {
|
|
806
|
+
"type": "string",
|
|
807
|
+
"minLength": 1,
|
|
808
|
+
"description": "Locale tag for the display entry."
|
|
809
|
+
},
|
|
810
|
+
"name": {
|
|
811
|
+
"type": "string",
|
|
812
|
+
"minLength": 1,
|
|
813
|
+
"description": "Human-readable field name."
|
|
814
|
+
},
|
|
815
|
+
"description": {
|
|
816
|
+
"description": "Optional field description for this locale.",
|
|
817
|
+
"type": "string"
|
|
818
|
+
}
|
|
819
|
+
},
|
|
820
|
+
"required": [
|
|
821
|
+
"locale",
|
|
822
|
+
"name"
|
|
823
|
+
],
|
|
824
|
+
"additionalProperties": false
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
"constraints": {
|
|
828
|
+
"description": "Optional validation constraints for the claim value.",
|
|
829
|
+
"type": "object",
|
|
830
|
+
"propertyNames": {
|
|
831
|
+
"type": "string"
|
|
832
|
+
},
|
|
833
|
+
"additionalProperties": {}
|
|
834
|
+
},
|
|
835
|
+
"children": {
|
|
836
|
+
"description": "Nested child claim definitions for object or array fields.",
|
|
837
|
+
"type": "array",
|
|
838
|
+
"items": {
|
|
839
|
+
"$ref": "#/$defs/CredentialConfigCreate/$defs/__schema0"
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
},
|
|
843
|
+
"required": [
|
|
844
|
+
"path",
|
|
845
|
+
"type"
|
|
846
|
+
],
|
|
847
|
+
"additionalProperties": false
|
|
848
|
+
}
|
|
849
|
+
},
|
|
850
|
+
"title": "CredentialConfigCreate"
|
|
851
|
+
}
|
|
852
|
+
}
|
|
58
853
|
}
|
|
59
854
|
]
|
|
60
855
|
}
|