@eudiplo/cli 8.1.0-main.a6a67b3 → 8.1.0-main.a83e1b5
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/README.md +1 -1
- package/dist/commands/config/portability/migrations.spec.js +5 -3
- package/dist/commands/config/portability/migrations.spec.js.map +1 -1
- package/dist/index.js +1437 -8
- package/dist/runtime.js +1 -1
- package/dist/runtime.js.map +1 -1
- package/dist/services/compose-upgrade.js +1 -1
- package/dist/services/compose-upgrade.js.map +1 -1
- package/package.json +3 -3
- package/templates/demo-config/trust-lists/trustlist-580831bc-ef11-43f4-a3be-a2b6bf1b29a3-config.json +1 -97
- package/templates/docker-compose.yml +2 -2
- package/templates/schemas/IssuanceConfig.schema.json +13 -0
- package/templates/schemas/IssuanceConfigFile.schema.json +663 -1
- package/templates/schemas/PresentationConfigCreateDto.schema.json +3 -6
- package/templates/schemas/PresentationConfigFile.schema.json +723 -1
package/dist/index.js
CHANGED
|
@@ -14887,7 +14887,7 @@ var CONFIG_FORMATS = {
|
|
|
14887
14887
|
IssuanceConfig: {
|
|
14888
14888
|
slug: "issuance-config",
|
|
14889
14889
|
file: "IssuanceConfigFile",
|
|
14890
|
-
version:
|
|
14890
|
+
version: 2
|
|
14891
14891
|
},
|
|
14892
14892
|
CredentialConfig: {
|
|
14893
14893
|
slug: "credential-config",
|
|
@@ -14897,7 +14897,7 @@ var CONFIG_FORMATS = {
|
|
|
14897
14897
|
PresentationConfig: {
|
|
14898
14898
|
slug: "presentation-config",
|
|
14899
14899
|
file: "PresentationConfigFile",
|
|
14900
|
-
version:
|
|
14900
|
+
version: 2
|
|
14901
14901
|
},
|
|
14902
14902
|
AttributeProvider: {
|
|
14903
14903
|
slug: "attribute-provider",
|
|
@@ -14936,7 +14936,42 @@ function resourceId(input) {
|
|
|
14936
14936
|
throw new Error(`Configuration spec.${field} is required`);
|
|
14937
14937
|
return id;
|
|
14938
14938
|
}
|
|
14939
|
-
var
|
|
14939
|
+
var presentationConfigV1ToV2 = {
|
|
14940
|
+
id: "presentation-config-v2-provides-attestations",
|
|
14941
|
+
kind: "PresentationConfig",
|
|
14942
|
+
from: 1,
|
|
14943
|
+
to: 2,
|
|
14944
|
+
migrate(spec) {
|
|
14945
|
+
const registrationCert = spec.registration_cert;
|
|
14946
|
+
if (!object(registrationCert) || !object(registrationCert.body) || !("provided_attestations" in registrationCert.body)) {
|
|
14947
|
+
return { spec };
|
|
14948
|
+
}
|
|
14949
|
+
const { provided_attestations: _, ...body } = registrationCert.body;
|
|
14950
|
+
return {
|
|
14951
|
+
spec: { ...spec, registration_cert: { ...registrationCert, body } },
|
|
14952
|
+
issues: [
|
|
14953
|
+
{
|
|
14954
|
+
severity: "warning",
|
|
14955
|
+
code: "PROVIDED_ATTESTATIONS_REMOVED",
|
|
14956
|
+
path: "/spec/registration_cert/body/provided_attestations",
|
|
14957
|
+
message: "provided_attestations is not part of the registrar API and was removed. Set provides_attestations to the credential type identifiers (SD-JWT VC vct or mdoc doctype) the issuer provides."
|
|
14958
|
+
}
|
|
14959
|
+
]
|
|
14960
|
+
};
|
|
14961
|
+
}
|
|
14962
|
+
};
|
|
14963
|
+
var CONFIG_MIGRATIONS = [
|
|
14964
|
+
{
|
|
14965
|
+
id: "issuance-config-v2-offer-lifetime",
|
|
14966
|
+
kind: "IssuanceConfig",
|
|
14967
|
+
from: 1,
|
|
14968
|
+
to: 2,
|
|
14969
|
+
// v2 only adds the optional offerLifetimeSeconds: a v1 spec is a
|
|
14970
|
+
// valid v2 spec whose offers keep having no lifetime.
|
|
14971
|
+
migrate: (spec) => ({ spec })
|
|
14972
|
+
},
|
|
14973
|
+
presentationConfigV1ToV2
|
|
14974
|
+
];
|
|
14940
14975
|
function schemaUrl(kind, version = CONFIG_FORMATS[kind].version) {
|
|
14941
14976
|
if (!Number.isSafeInteger(version) || version < 1)
|
|
14942
14977
|
throw new Error("Invalid config version");
|
|
@@ -20001,6 +20036,1400 @@ var CONFIG_SCHEMAS = [
|
|
|
20001
20036
|
"title": "CreateWebhookEndpointDto"
|
|
20002
20037
|
}
|
|
20003
20038
|
}
|
|
20039
|
+
},
|
|
20040
|
+
{
|
|
20041
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
20042
|
+
"$id": "https://eudiplo.dev/schemas/v2/IssuanceConfigFile.schema.json",
|
|
20043
|
+
"title": "IssuanceConfigFile",
|
|
20044
|
+
"type": "object",
|
|
20045
|
+
"properties": {
|
|
20046
|
+
"$schema": {
|
|
20047
|
+
"type": "string",
|
|
20048
|
+
"const": "https://eudiplo.dev/schemas/v2/IssuanceConfigFile.schema.json"
|
|
20049
|
+
},
|
|
20050
|
+
"metadata": {
|
|
20051
|
+
"type": "object",
|
|
20052
|
+
"properties": {
|
|
20053
|
+
"generation": {
|
|
20054
|
+
"type": "integer",
|
|
20055
|
+
"minimum": 1,
|
|
20056
|
+
"description": "Monotonically increasing configuration generation."
|
|
20057
|
+
},
|
|
20058
|
+
"ownership": {
|
|
20059
|
+
"type": "string",
|
|
20060
|
+
"enum": [
|
|
20061
|
+
"unmanaged",
|
|
20062
|
+
"file-managed"
|
|
20063
|
+
],
|
|
20064
|
+
"description": "Requested ownership recorded when the document is applied."
|
|
20065
|
+
}
|
|
20066
|
+
},
|
|
20067
|
+
"additionalProperties": false
|
|
20068
|
+
},
|
|
20069
|
+
"spec": {
|
|
20070
|
+
"$ref": "#/$defs/IssuanceConfig"
|
|
20071
|
+
}
|
|
20072
|
+
},
|
|
20073
|
+
"required": [
|
|
20074
|
+
"$schema",
|
|
20075
|
+
"spec"
|
|
20076
|
+
],
|
|
20077
|
+
"additionalProperties": false,
|
|
20078
|
+
"$defs": {
|
|
20079
|
+
"IssuanceConfig": {
|
|
20080
|
+
"type": "object",
|
|
20081
|
+
"properties": {
|
|
20082
|
+
"batchSize": {
|
|
20083
|
+
"description": "Optional issuance batch size.",
|
|
20084
|
+
"type": "integer",
|
|
20085
|
+
"minimum": 1,
|
|
20086
|
+
"maximum": 9007199254740991
|
|
20087
|
+
},
|
|
20088
|
+
"dPopRequired": {
|
|
20089
|
+
"description": "Require DPoP proofs for issuance endpoints.",
|
|
20090
|
+
"type": "boolean"
|
|
20091
|
+
},
|
|
20092
|
+
"walletAttestationRequired": {
|
|
20093
|
+
"description": "Default wallet attestation requirement for managed authorization servers.",
|
|
20094
|
+
"type": "boolean"
|
|
20095
|
+
},
|
|
20096
|
+
"walletProviderTrustLists": {
|
|
20097
|
+
"description": "Shared wallet provider trust lists for key attestations and default authorization server wallet authentication.",
|
|
20098
|
+
"type": "array",
|
|
20099
|
+
"items": {
|
|
20100
|
+
"type": "object",
|
|
20101
|
+
"properties": {
|
|
20102
|
+
"trustListId": {
|
|
20103
|
+
"type": "string",
|
|
20104
|
+
"minLength": 1
|
|
20105
|
+
},
|
|
20106
|
+
"url": {
|
|
20107
|
+
"description": "URL of the wallet provider trust list.",
|
|
20108
|
+
"type": "string",
|
|
20109
|
+
"format": "uri"
|
|
20110
|
+
},
|
|
20111
|
+
"verifierKey": {
|
|
20112
|
+
"description": "Optional verifier key material used for trust list verification.",
|
|
20113
|
+
"type": "object",
|
|
20114
|
+
"propertyNames": {
|
|
20115
|
+
"type": "string"
|
|
20116
|
+
},
|
|
20117
|
+
"additionalProperties": {}
|
|
20118
|
+
},
|
|
20119
|
+
"verifierX509Der": {
|
|
20120
|
+
"description": "Optional verifier certificate in DER/base64 form.",
|
|
20121
|
+
"type": "string"
|
|
20122
|
+
}
|
|
20123
|
+
},
|
|
20124
|
+
"additionalProperties": false
|
|
20125
|
+
}
|
|
20126
|
+
},
|
|
20127
|
+
"signingKeyId": {
|
|
20128
|
+
"description": "Default signing key chain id for credential issuance.",
|
|
20129
|
+
"type": "string",
|
|
20130
|
+
"minLength": 1
|
|
20131
|
+
},
|
|
20132
|
+
"authorizationServers": {
|
|
20133
|
+
"minItems": 1,
|
|
20134
|
+
"type": "array",
|
|
20135
|
+
"items": {
|
|
20136
|
+
"oneOf": [
|
|
20137
|
+
{
|
|
20138
|
+
"type": "object",
|
|
20139
|
+
"properties": {
|
|
20140
|
+
"type": {
|
|
20141
|
+
"type": "string",
|
|
20142
|
+
"const": "external",
|
|
20143
|
+
"description": "Use an externally managed authorization server."
|
|
20144
|
+
},
|
|
20145
|
+
"id": {
|
|
20146
|
+
"type": "string",
|
|
20147
|
+
"minLength": 1,
|
|
20148
|
+
"description": "Authorization server identifier."
|
|
20149
|
+
},
|
|
20150
|
+
"issuer": {
|
|
20151
|
+
"type": "string",
|
|
20152
|
+
"format": "uri",
|
|
20153
|
+
"description": "Issuer URL for the external authorization server."
|
|
20154
|
+
},
|
|
20155
|
+
"sessionBinding": {
|
|
20156
|
+
"description": "Explicit mapping from an external access-token claim to an existing issuance session.",
|
|
20157
|
+
"type": "object",
|
|
20158
|
+
"properties": {
|
|
20159
|
+
"method": {
|
|
20160
|
+
"type": "string",
|
|
20161
|
+
"const": "access_token_claim",
|
|
20162
|
+
"description": "Read the correlation value from a configured access-token claim."
|
|
20163
|
+
},
|
|
20164
|
+
"claim": {
|
|
20165
|
+
"type": "string",
|
|
20166
|
+
"minLength": 1,
|
|
20167
|
+
"description": "Claim name that contains the issuance-session correlation value."
|
|
20168
|
+
}
|
|
20169
|
+
},
|
|
20170
|
+
"required": [
|
|
20171
|
+
"method",
|
|
20172
|
+
"claim"
|
|
20173
|
+
],
|
|
20174
|
+
"additionalProperties": false
|
|
20175
|
+
},
|
|
20176
|
+
"label": {
|
|
20177
|
+
"description": "Optional display label for UI selection.",
|
|
20178
|
+
"type": "string"
|
|
20179
|
+
},
|
|
20180
|
+
"enabled": {
|
|
20181
|
+
"description": "Whether this authorization server entry is enabled.",
|
|
20182
|
+
"type": "boolean"
|
|
20183
|
+
}
|
|
20184
|
+
},
|
|
20185
|
+
"required": [
|
|
20186
|
+
"type",
|
|
20187
|
+
"id",
|
|
20188
|
+
"issuer"
|
|
20189
|
+
],
|
|
20190
|
+
"additionalProperties": false
|
|
20191
|
+
},
|
|
20192
|
+
{
|
|
20193
|
+
"type": "object",
|
|
20194
|
+
"properties": {
|
|
20195
|
+
"type": {
|
|
20196
|
+
"type": "string",
|
|
20197
|
+
"const": "oid4vp",
|
|
20198
|
+
"description": "Use OID4VP-based authorization server chaining."
|
|
20199
|
+
},
|
|
20200
|
+
"id": {
|
|
20201
|
+
"type": "string",
|
|
20202
|
+
"minLength": 1,
|
|
20203
|
+
"description": "Authorization server identifier."
|
|
20204
|
+
},
|
|
20205
|
+
"presentationConfigId": {
|
|
20206
|
+
"type": "string",
|
|
20207
|
+
"minLength": 1,
|
|
20208
|
+
"description": "Presentation configuration id used during authorization."
|
|
20209
|
+
},
|
|
20210
|
+
"immediateWalletRedirect": {
|
|
20211
|
+
"description": "Redirect wallets immediately after authorization response creation.",
|
|
20212
|
+
"type": "boolean"
|
|
20213
|
+
},
|
|
20214
|
+
"token": {
|
|
20215
|
+
"description": "Optional token issuance settings.",
|
|
20216
|
+
"type": "object",
|
|
20217
|
+
"properties": {
|
|
20218
|
+
"lifetimeSeconds": {
|
|
20219
|
+
"description": "Access token lifetime in seconds.",
|
|
20220
|
+
"type": "number",
|
|
20221
|
+
"minimum": 60
|
|
20222
|
+
},
|
|
20223
|
+
"signingKeyId": {
|
|
20224
|
+
"description": "Optional key chain id used to sign issued tokens.",
|
|
20225
|
+
"type": "string",
|
|
20226
|
+
"minLength": 1
|
|
20227
|
+
},
|
|
20228
|
+
"refreshTokenEnabled": {
|
|
20229
|
+
"description": "Enable issuing refresh tokens.",
|
|
20230
|
+
"type": "boolean"
|
|
20231
|
+
},
|
|
20232
|
+
"refreshTokenExpiresInSeconds": {
|
|
20233
|
+
"description": "Refresh token lifetime in seconds.",
|
|
20234
|
+
"type": "number",
|
|
20235
|
+
"minimum": 60
|
|
20236
|
+
}
|
|
20237
|
+
},
|
|
20238
|
+
"additionalProperties": false
|
|
20239
|
+
},
|
|
20240
|
+
"requireDPoP": {
|
|
20241
|
+
"description": "Require DPoP proofs for token/credential requests.",
|
|
20242
|
+
"type": "boolean"
|
|
20243
|
+
},
|
|
20244
|
+
"walletAttestationRequired": {
|
|
20245
|
+
"description": "Require wallet attestation for this authorization server.",
|
|
20246
|
+
"type": "boolean"
|
|
20247
|
+
},
|
|
20248
|
+
"walletProviderTrustLists": {
|
|
20249
|
+
"description": "Optional wallet provider trust list references for this authorization server.",
|
|
20250
|
+
"type": "array",
|
|
20251
|
+
"items": {
|
|
20252
|
+
"type": "object",
|
|
20253
|
+
"properties": {
|
|
20254
|
+
"trustListId": {
|
|
20255
|
+
"type": "string",
|
|
20256
|
+
"minLength": 1
|
|
20257
|
+
},
|
|
20258
|
+
"url": {
|
|
20259
|
+
"description": "URL of the wallet provider trust list.",
|
|
20260
|
+
"type": "string",
|
|
20261
|
+
"format": "uri"
|
|
20262
|
+
},
|
|
20263
|
+
"verifierKey": {
|
|
20264
|
+
"description": "Optional verifier key material used for trust list verification.",
|
|
20265
|
+
"type": "object",
|
|
20266
|
+
"propertyNames": {
|
|
20267
|
+
"type": "string"
|
|
20268
|
+
},
|
|
20269
|
+
"additionalProperties": {}
|
|
20270
|
+
},
|
|
20271
|
+
"verifierX509Der": {
|
|
20272
|
+
"description": "Optional verifier certificate in DER/base64 form.",
|
|
20273
|
+
"type": "string"
|
|
20274
|
+
}
|
|
20275
|
+
},
|
|
20276
|
+
"additionalProperties": false
|
|
20277
|
+
}
|
|
20278
|
+
},
|
|
20279
|
+
"label": {
|
|
20280
|
+
"description": "Optional display label for UI selection.",
|
|
20281
|
+
"type": "string"
|
|
20282
|
+
},
|
|
20283
|
+
"enabled": {
|
|
20284
|
+
"description": "Whether this authorization server entry is enabled.",
|
|
20285
|
+
"type": "boolean"
|
|
20286
|
+
}
|
|
20287
|
+
},
|
|
20288
|
+
"required": [
|
|
20289
|
+
"type",
|
|
20290
|
+
"id",
|
|
20291
|
+
"presentationConfigId"
|
|
20292
|
+
],
|
|
20293
|
+
"additionalProperties": false
|
|
20294
|
+
},
|
|
20295
|
+
{
|
|
20296
|
+
"type": "object",
|
|
20297
|
+
"properties": {
|
|
20298
|
+
"type": {
|
|
20299
|
+
"type": "string",
|
|
20300
|
+
"const": "chained",
|
|
20301
|
+
"description": "Use upstream OIDC as authorization source."
|
|
20302
|
+
},
|
|
20303
|
+
"id": {
|
|
20304
|
+
"type": "string",
|
|
20305
|
+
"minLength": 1,
|
|
20306
|
+
"description": "Authorization server identifier."
|
|
20307
|
+
},
|
|
20308
|
+
"upstream": {
|
|
20309
|
+
"type": "object",
|
|
20310
|
+
"properties": {
|
|
20311
|
+
"issuer": {
|
|
20312
|
+
"type": "string",
|
|
20313
|
+
"format": "uri",
|
|
20314
|
+
"description": "Upstream OIDC issuer URL."
|
|
20315
|
+
},
|
|
20316
|
+
"clientId": {
|
|
20317
|
+
"type": "string",
|
|
20318
|
+
"minLength": 1,
|
|
20319
|
+
"description": "Client id for upstream OIDC authentication."
|
|
20320
|
+
},
|
|
20321
|
+
"clientSecret": {
|
|
20322
|
+
"description": "Optional client secret for upstream OIDC authentication.",
|
|
20323
|
+
"type": "string",
|
|
20324
|
+
"minLength": 1
|
|
20325
|
+
},
|
|
20326
|
+
"scopes": {
|
|
20327
|
+
"description": "Optional scopes requested from the upstream issuer.",
|
|
20328
|
+
"type": "array",
|
|
20329
|
+
"items": {
|
|
20330
|
+
"type": "string",
|
|
20331
|
+
"minLength": 1
|
|
20332
|
+
}
|
|
20333
|
+
}
|
|
20334
|
+
},
|
|
20335
|
+
"required": [
|
|
20336
|
+
"issuer",
|
|
20337
|
+
"clientId"
|
|
20338
|
+
],
|
|
20339
|
+
"additionalProperties": false,
|
|
20340
|
+
"description": "Upstream OIDC connection settings."
|
|
20341
|
+
},
|
|
20342
|
+
"token": {
|
|
20343
|
+
"description": "Optional token issuance settings.",
|
|
20344
|
+
"type": "object",
|
|
20345
|
+
"properties": {
|
|
20346
|
+
"lifetimeSeconds": {
|
|
20347
|
+
"description": "Access token lifetime in seconds.",
|
|
20348
|
+
"type": "number",
|
|
20349
|
+
"minimum": 60
|
|
20350
|
+
},
|
|
20351
|
+
"signingKeyId": {
|
|
20352
|
+
"description": "Optional key chain id used to sign issued tokens.",
|
|
20353
|
+
"type": "string",
|
|
20354
|
+
"minLength": 1
|
|
20355
|
+
},
|
|
20356
|
+
"refreshTokenEnabled": {
|
|
20357
|
+
"description": "Enable issuing refresh tokens.",
|
|
20358
|
+
"type": "boolean"
|
|
20359
|
+
},
|
|
20360
|
+
"refreshTokenExpiresInSeconds": {
|
|
20361
|
+
"description": "Refresh token lifetime in seconds.",
|
|
20362
|
+
"type": "number",
|
|
20363
|
+
"minimum": 60
|
|
20364
|
+
}
|
|
20365
|
+
},
|
|
20366
|
+
"additionalProperties": false
|
|
20367
|
+
},
|
|
20368
|
+
"requireDPoP": {
|
|
20369
|
+
"description": "Require DPoP proofs for token/credential requests.",
|
|
20370
|
+
"type": "boolean"
|
|
20371
|
+
},
|
|
20372
|
+
"walletAttestationRequired": {
|
|
20373
|
+
"description": "Require wallet attestation for this authorization server.",
|
|
20374
|
+
"type": "boolean"
|
|
20375
|
+
},
|
|
20376
|
+
"walletProviderTrustLists": {
|
|
20377
|
+
"description": "Optional wallet provider trust list references for this authorization server.",
|
|
20378
|
+
"type": "array",
|
|
20379
|
+
"items": {
|
|
20380
|
+
"type": "object",
|
|
20381
|
+
"properties": {
|
|
20382
|
+
"trustListId": {
|
|
20383
|
+
"type": "string",
|
|
20384
|
+
"minLength": 1
|
|
20385
|
+
},
|
|
20386
|
+
"url": {
|
|
20387
|
+
"description": "URL of the wallet provider trust list.",
|
|
20388
|
+
"type": "string",
|
|
20389
|
+
"format": "uri"
|
|
20390
|
+
},
|
|
20391
|
+
"verifierKey": {
|
|
20392
|
+
"description": "Optional verifier key material used for trust list verification.",
|
|
20393
|
+
"type": "object",
|
|
20394
|
+
"propertyNames": {
|
|
20395
|
+
"type": "string"
|
|
20396
|
+
},
|
|
20397
|
+
"additionalProperties": {}
|
|
20398
|
+
},
|
|
20399
|
+
"verifierX509Der": {
|
|
20400
|
+
"description": "Optional verifier certificate in DER/base64 form.",
|
|
20401
|
+
"type": "string"
|
|
20402
|
+
}
|
|
20403
|
+
},
|
|
20404
|
+
"additionalProperties": false
|
|
20405
|
+
}
|
|
20406
|
+
},
|
|
20407
|
+
"label": {
|
|
20408
|
+
"description": "Optional display label for UI selection.",
|
|
20409
|
+
"type": "string"
|
|
20410
|
+
},
|
|
20411
|
+
"enabled": {
|
|
20412
|
+
"description": "Whether this authorization server entry is enabled.",
|
|
20413
|
+
"type": "boolean"
|
|
20414
|
+
}
|
|
20415
|
+
},
|
|
20416
|
+
"required": [
|
|
20417
|
+
"type",
|
|
20418
|
+
"id",
|
|
20419
|
+
"upstream"
|
|
20420
|
+
],
|
|
20421
|
+
"additionalProperties": false
|
|
20422
|
+
},
|
|
20423
|
+
{
|
|
20424
|
+
"type": "object",
|
|
20425
|
+
"properties": {
|
|
20426
|
+
"type": {
|
|
20427
|
+
"type": "string",
|
|
20428
|
+
"const": "built-in",
|
|
20429
|
+
"description": "Use EUDIPLO built-in authorization server."
|
|
20430
|
+
},
|
|
20431
|
+
"id": {
|
|
20432
|
+
"type": "string",
|
|
20433
|
+
"minLength": 1,
|
|
20434
|
+
"description": "Authorization server identifier."
|
|
20435
|
+
},
|
|
20436
|
+
"token": {
|
|
20437
|
+
"description": "Optional token issuance settings.",
|
|
20438
|
+
"type": "object",
|
|
20439
|
+
"properties": {
|
|
20440
|
+
"lifetimeSeconds": {
|
|
20441
|
+
"description": "Access token lifetime in seconds.",
|
|
20442
|
+
"type": "number",
|
|
20443
|
+
"minimum": 60
|
|
20444
|
+
},
|
|
20445
|
+
"signingKeyId": {
|
|
20446
|
+
"description": "Optional key chain id used to sign issued tokens.",
|
|
20447
|
+
"type": "string",
|
|
20448
|
+
"minLength": 1
|
|
20449
|
+
},
|
|
20450
|
+
"refreshTokenEnabled": {
|
|
20451
|
+
"description": "Enable issuing refresh tokens.",
|
|
20452
|
+
"type": "boolean"
|
|
20453
|
+
},
|
|
20454
|
+
"refreshTokenExpiresInSeconds": {
|
|
20455
|
+
"description": "Refresh token lifetime in seconds.",
|
|
20456
|
+
"type": "number",
|
|
20457
|
+
"minimum": 60
|
|
20458
|
+
}
|
|
20459
|
+
},
|
|
20460
|
+
"additionalProperties": false
|
|
20461
|
+
},
|
|
20462
|
+
"requireDPoP": {
|
|
20463
|
+
"description": "Require DPoP proofs for token/credential requests.",
|
|
20464
|
+
"type": "boolean"
|
|
20465
|
+
},
|
|
20466
|
+
"walletAttestationRequired": {
|
|
20467
|
+
"description": "Require wallet attestation for this authorization server.",
|
|
20468
|
+
"type": "boolean"
|
|
20469
|
+
},
|
|
20470
|
+
"walletProviderTrustLists": {
|
|
20471
|
+
"description": "Optional wallet provider trust list references for this authorization server.",
|
|
20472
|
+
"type": "array",
|
|
20473
|
+
"items": {
|
|
20474
|
+
"type": "object",
|
|
20475
|
+
"properties": {
|
|
20476
|
+
"trustListId": {
|
|
20477
|
+
"type": "string",
|
|
20478
|
+
"minLength": 1
|
|
20479
|
+
},
|
|
20480
|
+
"url": {
|
|
20481
|
+
"description": "URL of the wallet provider trust list.",
|
|
20482
|
+
"type": "string",
|
|
20483
|
+
"format": "uri"
|
|
20484
|
+
},
|
|
20485
|
+
"verifierKey": {
|
|
20486
|
+
"description": "Optional verifier key material used for trust list verification.",
|
|
20487
|
+
"type": "object",
|
|
20488
|
+
"propertyNames": {
|
|
20489
|
+
"type": "string"
|
|
20490
|
+
},
|
|
20491
|
+
"additionalProperties": {}
|
|
20492
|
+
},
|
|
20493
|
+
"verifierX509Der": {
|
|
20494
|
+
"description": "Optional verifier certificate in DER/base64 form.",
|
|
20495
|
+
"type": "string"
|
|
20496
|
+
}
|
|
20497
|
+
},
|
|
20498
|
+
"additionalProperties": false
|
|
20499
|
+
}
|
|
20500
|
+
},
|
|
20501
|
+
"label": {
|
|
20502
|
+
"description": "Optional display label for UI selection.",
|
|
20503
|
+
"type": "string"
|
|
20504
|
+
},
|
|
20505
|
+
"enabled": {
|
|
20506
|
+
"description": "Whether this authorization server entry is enabled.",
|
|
20507
|
+
"type": "boolean"
|
|
20508
|
+
}
|
|
20509
|
+
},
|
|
20510
|
+
"required": [
|
|
20511
|
+
"type",
|
|
20512
|
+
"id"
|
|
20513
|
+
],
|
|
20514
|
+
"additionalProperties": false
|
|
20515
|
+
}
|
|
20516
|
+
],
|
|
20517
|
+
"description": "Supported authorization server configurations."
|
|
20518
|
+
},
|
|
20519
|
+
"description": "Configured authorization server entries."
|
|
20520
|
+
},
|
|
20521
|
+
"federation": {
|
|
20522
|
+
"description": "Optional OpenID Federation settings.",
|
|
20523
|
+
"anyOf": [
|
|
20524
|
+
{
|
|
20525
|
+
"type": "object",
|
|
20526
|
+
"properties": {
|
|
20527
|
+
"role": {
|
|
20528
|
+
"description": "Federation role for this issuer.",
|
|
20529
|
+
"type": "string",
|
|
20530
|
+
"enum": [
|
|
20531
|
+
"trust_anchor",
|
|
20532
|
+
"intermediate",
|
|
20533
|
+
"leaf"
|
|
20534
|
+
]
|
|
20535
|
+
},
|
|
20536
|
+
"mode": {
|
|
20537
|
+
"description": "Federation operation mode.",
|
|
20538
|
+
"type": "string",
|
|
20539
|
+
"enum": [
|
|
20540
|
+
"federation-only",
|
|
20541
|
+
"hybrid"
|
|
20542
|
+
]
|
|
20543
|
+
},
|
|
20544
|
+
"entityId": {
|
|
20545
|
+
"description": "Optional local federation entity id.",
|
|
20546
|
+
"type": "string"
|
|
20547
|
+
},
|
|
20548
|
+
"enforceSigningPolicy": {
|
|
20549
|
+
"description": "Enforce strict signing policy checks.",
|
|
20550
|
+
"type": "boolean"
|
|
20551
|
+
},
|
|
20552
|
+
"cacheTtlSeconds": {
|
|
20553
|
+
"description": "Cache time-to-live for federation metadata in seconds.",
|
|
20554
|
+
"type": "integer",
|
|
20555
|
+
"minimum": 1,
|
|
20556
|
+
"maximum": 9007199254740991
|
|
20557
|
+
},
|
|
20558
|
+
"trustAnchors": {
|
|
20559
|
+
"type": "array",
|
|
20560
|
+
"items": {
|
|
20561
|
+
"type": "object",
|
|
20562
|
+
"properties": {
|
|
20563
|
+
"entityId": {
|
|
20564
|
+
"type": "string",
|
|
20565
|
+
"minLength": 1,
|
|
20566
|
+
"description": "Federation trust anchor entity id."
|
|
20567
|
+
},
|
|
20568
|
+
"entityConfigurationUri": {
|
|
20569
|
+
"type": "string",
|
|
20570
|
+
"format": "uri",
|
|
20571
|
+
"description": "Entity configuration URI for the trust anchor."
|
|
20572
|
+
}
|
|
20573
|
+
},
|
|
20574
|
+
"required": [
|
|
20575
|
+
"entityId",
|
|
20576
|
+
"entityConfigurationUri"
|
|
20577
|
+
],
|
|
20578
|
+
"additionalProperties": false
|
|
20579
|
+
},
|
|
20580
|
+
"description": "Federation trust anchors."
|
|
20581
|
+
}
|
|
20582
|
+
},
|
|
20583
|
+
"required": [
|
|
20584
|
+
"trustAnchors"
|
|
20585
|
+
],
|
|
20586
|
+
"additionalProperties": false
|
|
20587
|
+
},
|
|
20588
|
+
{
|
|
20589
|
+
"type": "null"
|
|
20590
|
+
}
|
|
20591
|
+
]
|
|
20592
|
+
},
|
|
20593
|
+
"registrationCertificate": {
|
|
20594
|
+
"description": "Optional registration certificate settings.",
|
|
20595
|
+
"anyOf": [
|
|
20596
|
+
{
|
|
20597
|
+
"type": "object",
|
|
20598
|
+
"properties": {
|
|
20599
|
+
"enabled": {
|
|
20600
|
+
"description": "Enable issuer registration certificate support.",
|
|
20601
|
+
"type": "boolean"
|
|
20602
|
+
},
|
|
20603
|
+
"mode": {
|
|
20604
|
+
"description": "How registration certificate data is provided.",
|
|
20605
|
+
"type": "string",
|
|
20606
|
+
"enum": [
|
|
20607
|
+
"import",
|
|
20608
|
+
"generate"
|
|
20609
|
+
]
|
|
20610
|
+
},
|
|
20611
|
+
"jwt": {
|
|
20612
|
+
"description": "Optional registration certificate JWT when using import mode.",
|
|
20613
|
+
"type": "string"
|
|
20614
|
+
},
|
|
20615
|
+
"privacyPolicy": {
|
|
20616
|
+
"description": "Optional privacy policy URI.",
|
|
20617
|
+
"type": "string"
|
|
20618
|
+
},
|
|
20619
|
+
"supportUri": {
|
|
20620
|
+
"description": "Optional support URI.",
|
|
20621
|
+
"type": "string"
|
|
20622
|
+
}
|
|
20623
|
+
},
|
|
20624
|
+
"additionalProperties": false
|
|
20625
|
+
},
|
|
20626
|
+
{
|
|
20627
|
+
"type": "null"
|
|
20628
|
+
}
|
|
20629
|
+
]
|
|
20630
|
+
},
|
|
20631
|
+
"display": {
|
|
20632
|
+
"description": "Localized issuer metadata shown to wallets.",
|
|
20633
|
+
"type": "array",
|
|
20634
|
+
"items": {
|
|
20635
|
+
"type": "object",
|
|
20636
|
+
"properties": {
|
|
20637
|
+
"name": {
|
|
20638
|
+
"description": "Issuer display name.",
|
|
20639
|
+
"type": "string"
|
|
20640
|
+
},
|
|
20641
|
+
"locale": {
|
|
20642
|
+
"description": "Locale tag for this display entry.",
|
|
20643
|
+
"type": "string"
|
|
20644
|
+
},
|
|
20645
|
+
"logo": {
|
|
20646
|
+
"description": "Optional issuer logo metadata.",
|
|
20647
|
+
"type": "object",
|
|
20648
|
+
"properties": {
|
|
20649
|
+
"uri": {
|
|
20650
|
+
"type": "string",
|
|
20651
|
+
"minLength": 1,
|
|
20652
|
+
"description": "Logo URI."
|
|
20653
|
+
},
|
|
20654
|
+
"alt_text": {
|
|
20655
|
+
"description": "Optional localized alternative text.",
|
|
20656
|
+
"type": "string"
|
|
20657
|
+
}
|
|
20658
|
+
},
|
|
20659
|
+
"required": [
|
|
20660
|
+
"uri"
|
|
20661
|
+
],
|
|
20662
|
+
"additionalProperties": {}
|
|
20663
|
+
}
|
|
20664
|
+
},
|
|
20665
|
+
"additionalProperties": {}
|
|
20666
|
+
}
|
|
20667
|
+
},
|
|
20668
|
+
"notificationEndpointEnabled": {
|
|
20669
|
+
"description": "Whether the OID4VCI notification endpoint is exposed for this issuance configuration.",
|
|
20670
|
+
"type": "boolean"
|
|
20671
|
+
},
|
|
20672
|
+
"credentialResponseEncryption": {
|
|
20673
|
+
"description": "Enable encrypted credential responses.",
|
|
20674
|
+
"type": "boolean"
|
|
20675
|
+
},
|
|
20676
|
+
"credentialRequestEncryption": {
|
|
20677
|
+
"description": "Require encrypted credential requests.",
|
|
20678
|
+
"type": "boolean"
|
|
20679
|
+
},
|
|
20680
|
+
"txCodeMaxAttempts": {
|
|
20681
|
+
"description": "Maximum verification attempts for transaction codes. Null resets to defaults.",
|
|
20682
|
+
"anyOf": [
|
|
20683
|
+
{
|
|
20684
|
+
"type": "integer",
|
|
20685
|
+
"minimum": 1,
|
|
20686
|
+
"maximum": 9007199254740991
|
|
20687
|
+
},
|
|
20688
|
+
{
|
|
20689
|
+
"type": "null"
|
|
20690
|
+
}
|
|
20691
|
+
]
|
|
20692
|
+
},
|
|
20693
|
+
"offerLifetimeSeconds": {
|
|
20694
|
+
"description": "Default lifetime of credential offers in seconds. Can be overridden per offer request. Null or unset: offers do not expire.",
|
|
20695
|
+
"anyOf": [
|
|
20696
|
+
{
|
|
20697
|
+
"type": "integer",
|
|
20698
|
+
"minimum": 1,
|
|
20699
|
+
"maximum": 9007199254740991
|
|
20700
|
+
},
|
|
20701
|
+
{
|
|
20702
|
+
"type": "null"
|
|
20703
|
+
}
|
|
20704
|
+
]
|
|
20705
|
+
}
|
|
20706
|
+
},
|
|
20707
|
+
"required": [
|
|
20708
|
+
"authorizationServers"
|
|
20709
|
+
],
|
|
20710
|
+
"additionalProperties": false,
|
|
20711
|
+
"title": "IssuanceConfig"
|
|
20712
|
+
}
|
|
20713
|
+
}
|
|
20714
|
+
},
|
|
20715
|
+
{
|
|
20716
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
20717
|
+
"$id": "https://eudiplo.dev/schemas/v2/PresentationConfigFile.schema.json",
|
|
20718
|
+
"title": "PresentationConfigFile",
|
|
20719
|
+
"type": "object",
|
|
20720
|
+
"properties": {
|
|
20721
|
+
"$schema": {
|
|
20722
|
+
"type": "string",
|
|
20723
|
+
"const": "https://eudiplo.dev/schemas/v2/PresentationConfigFile.schema.json"
|
|
20724
|
+
},
|
|
20725
|
+
"metadata": {
|
|
20726
|
+
"type": "object",
|
|
20727
|
+
"properties": {
|
|
20728
|
+
"generation": {
|
|
20729
|
+
"type": "integer",
|
|
20730
|
+
"minimum": 1,
|
|
20731
|
+
"description": "Monotonically increasing configuration generation."
|
|
20732
|
+
},
|
|
20733
|
+
"ownership": {
|
|
20734
|
+
"type": "string",
|
|
20735
|
+
"enum": [
|
|
20736
|
+
"unmanaged",
|
|
20737
|
+
"file-managed"
|
|
20738
|
+
],
|
|
20739
|
+
"description": "Requested ownership recorded when the document is applied."
|
|
20740
|
+
}
|
|
20741
|
+
},
|
|
20742
|
+
"additionalProperties": false
|
|
20743
|
+
},
|
|
20744
|
+
"spec": {
|
|
20745
|
+
"allOf": [
|
|
20746
|
+
{
|
|
20747
|
+
"$ref": "#/$defs/PresentationConfigCreateDto"
|
|
20748
|
+
},
|
|
20749
|
+
{
|
|
20750
|
+
"type": "object",
|
|
20751
|
+
"required": [
|
|
20752
|
+
"id"
|
|
20753
|
+
],
|
|
20754
|
+
"properties": {
|
|
20755
|
+
"id": {
|
|
20756
|
+
"type": "string",
|
|
20757
|
+
"minLength": 1
|
|
20758
|
+
}
|
|
20759
|
+
}
|
|
20760
|
+
}
|
|
20761
|
+
]
|
|
20762
|
+
}
|
|
20763
|
+
},
|
|
20764
|
+
"required": [
|
|
20765
|
+
"$schema",
|
|
20766
|
+
"spec"
|
|
20767
|
+
],
|
|
20768
|
+
"additionalProperties": false,
|
|
20769
|
+
"$defs": {
|
|
20770
|
+
"PresentationConfigCreateDto": {
|
|
20771
|
+
"type": "object",
|
|
20772
|
+
"properties": {
|
|
20773
|
+
"id": {
|
|
20774
|
+
"type": "string",
|
|
20775
|
+
"minLength": 1,
|
|
20776
|
+
"description": "Presentation configuration identifier."
|
|
20777
|
+
},
|
|
20778
|
+
"description": {
|
|
20779
|
+
"description": "Optional presentation configuration description.",
|
|
20780
|
+
"type": [
|
|
20781
|
+
"string",
|
|
20782
|
+
"null"
|
|
20783
|
+
]
|
|
20784
|
+
},
|
|
20785
|
+
"lifeTime": {
|
|
20786
|
+
"description": "Presentation request lifetime in seconds.",
|
|
20787
|
+
"type": "integer",
|
|
20788
|
+
"minimum": 1,
|
|
20789
|
+
"maximum": 9007199254740991
|
|
20790
|
+
},
|
|
20791
|
+
"skewSeconds": {
|
|
20792
|
+
"description": "Clock skew tolerance in seconds.",
|
|
20793
|
+
"type": "integer",
|
|
20794
|
+
"minimum": 0,
|
|
20795
|
+
"maximum": 9007199254740991
|
|
20796
|
+
},
|
|
20797
|
+
"statusCheckMode": {
|
|
20798
|
+
"description": "Revocation/status check mode.",
|
|
20799
|
+
"type": "string",
|
|
20800
|
+
"enum": [
|
|
20801
|
+
"strict",
|
|
20802
|
+
"best_effort",
|
|
20803
|
+
"disabled"
|
|
20804
|
+
]
|
|
20805
|
+
},
|
|
20806
|
+
"dcql_query": {
|
|
20807
|
+
"type": "object",
|
|
20808
|
+
"properties": {
|
|
20809
|
+
"credentials": {
|
|
20810
|
+
"minItems": 1,
|
|
20811
|
+
"type": "array",
|
|
20812
|
+
"items": {
|
|
20813
|
+
"oneOf": [
|
|
20814
|
+
{
|
|
20815
|
+
"type": "object",
|
|
20816
|
+
"properties": {
|
|
20817
|
+
"id": {
|
|
20818
|
+
"type": "string",
|
|
20819
|
+
"minLength": 1,
|
|
20820
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
20821
|
+
"description": "Credential query identifier."
|
|
20822
|
+
},
|
|
20823
|
+
"multiple": {
|
|
20824
|
+
"description": "Allow multiple matching credentials.",
|
|
20825
|
+
"type": "boolean"
|
|
20826
|
+
},
|
|
20827
|
+
"claim_sets": {
|
|
20828
|
+
"description": "Optional claim set constraints.",
|
|
20829
|
+
"type": "array",
|
|
20830
|
+
"items": {
|
|
20831
|
+
"type": "array",
|
|
20832
|
+
"items": {
|
|
20833
|
+
"type": "string"
|
|
20834
|
+
}
|
|
20835
|
+
}
|
|
20836
|
+
},
|
|
20837
|
+
"trusted_authorities": {
|
|
20838
|
+
"description": "Optional trusted authority constraints.",
|
|
20839
|
+
"type": "array",
|
|
20840
|
+
"items": {
|
|
20841
|
+
"oneOf": [
|
|
20842
|
+
{
|
|
20843
|
+
"type": "object",
|
|
20844
|
+
"properties": {
|
|
20845
|
+
"type": {
|
|
20846
|
+
"type": "string",
|
|
20847
|
+
"const": "etsi_tl",
|
|
20848
|
+
"description": "Trusted authority type discriminator for ETSI trust lists."
|
|
20849
|
+
},
|
|
20850
|
+
"values": {
|
|
20851
|
+
"type": "array",
|
|
20852
|
+
"items": {
|
|
20853
|
+
"type": "object",
|
|
20854
|
+
"properties": {
|
|
20855
|
+
"trustListId": {
|
|
20856
|
+
"description": "Optional trust list id reference.",
|
|
20857
|
+
"type": "string"
|
|
20858
|
+
},
|
|
20859
|
+
"url": {
|
|
20860
|
+
"description": "Optional trust list URL reference.",
|
|
20861
|
+
"anyOf": [
|
|
20862
|
+
{
|
|
20863
|
+
"type": "string",
|
|
20864
|
+
"format": "uri"
|
|
20865
|
+
},
|
|
20866
|
+
{
|
|
20867
|
+
"type": "string",
|
|
20868
|
+
"pattern": "^<TENANT_URL>(?:\\/.*)?$"
|
|
20869
|
+
}
|
|
20870
|
+
]
|
|
20871
|
+
},
|
|
20872
|
+
"verifierKey": {
|
|
20873
|
+
"description": "Optional verifier key material.",
|
|
20874
|
+
"type": "object",
|
|
20875
|
+
"propertyNames": {
|
|
20876
|
+
"type": "string"
|
|
20877
|
+
},
|
|
20878
|
+
"additionalProperties": {}
|
|
20879
|
+
},
|
|
20880
|
+
"verifierX509Der": {
|
|
20881
|
+
"description": "Optional verifier certificate in DER/base64 form.",
|
|
20882
|
+
"type": "string"
|
|
20883
|
+
}
|
|
20884
|
+
},
|
|
20885
|
+
"additionalProperties": false
|
|
20886
|
+
},
|
|
20887
|
+
"description": "Trust list references for ETSI TL verification."
|
|
20888
|
+
}
|
|
20889
|
+
},
|
|
20890
|
+
"required": [
|
|
20891
|
+
"type",
|
|
20892
|
+
"values"
|
|
20893
|
+
],
|
|
20894
|
+
"additionalProperties": false
|
|
20895
|
+
},
|
|
20896
|
+
{
|
|
20897
|
+
"type": "object",
|
|
20898
|
+
"properties": {
|
|
20899
|
+
"type": {
|
|
20900
|
+
"type": "string",
|
|
20901
|
+
"const": "openid_federation",
|
|
20902
|
+
"description": "Trusted authority type discriminator for OpenID Federation."
|
|
20903
|
+
},
|
|
20904
|
+
"values": {
|
|
20905
|
+
"type": "array",
|
|
20906
|
+
"items": {
|
|
20907
|
+
"type": "string"
|
|
20908
|
+
},
|
|
20909
|
+
"description": "OpenID Federation authority identifiers."
|
|
20910
|
+
}
|
|
20911
|
+
},
|
|
20912
|
+
"required": [
|
|
20913
|
+
"type",
|
|
20914
|
+
"values"
|
|
20915
|
+
],
|
|
20916
|
+
"additionalProperties": false
|
|
20917
|
+
}
|
|
20918
|
+
]
|
|
20919
|
+
}
|
|
20920
|
+
},
|
|
20921
|
+
"format": {
|
|
20922
|
+
"type": "string",
|
|
20923
|
+
"const": "dc+sd-jwt",
|
|
20924
|
+
"description": "Credential format discriminator."
|
|
20925
|
+
},
|
|
20926
|
+
"meta": {
|
|
20927
|
+
"type": "object",
|
|
20928
|
+
"properties": {
|
|
20929
|
+
"vct_values": {
|
|
20930
|
+
"minItems": 1,
|
|
20931
|
+
"type": "array",
|
|
20932
|
+
"items": {
|
|
20933
|
+
"type": "string"
|
|
20934
|
+
},
|
|
20935
|
+
"description": "Accepted VCT values."
|
|
20936
|
+
}
|
|
20937
|
+
},
|
|
20938
|
+
"required": [
|
|
20939
|
+
"vct_values"
|
|
20940
|
+
],
|
|
20941
|
+
"additionalProperties": false
|
|
20942
|
+
},
|
|
20943
|
+
"claims": {
|
|
20944
|
+
"description": "Optional claim-level constraints.",
|
|
20945
|
+
"type": "array",
|
|
20946
|
+
"items": {
|
|
20947
|
+
"type": "object",
|
|
20948
|
+
"properties": {
|
|
20949
|
+
"id": {
|
|
20950
|
+
"description": "Optional claim query id.",
|
|
20951
|
+
"type": "string"
|
|
20952
|
+
},
|
|
20953
|
+
"path": {
|
|
20954
|
+
"type": "array",
|
|
20955
|
+
"items": {
|
|
20956
|
+
"type": [
|
|
20957
|
+
"string",
|
|
20958
|
+
"number"
|
|
20959
|
+
]
|
|
20960
|
+
},
|
|
20961
|
+
"description": "Path to the claim value in presented credentials."
|
|
20962
|
+
},
|
|
20963
|
+
"values": {
|
|
20964
|
+
"description": "Optional allowed values for the claim.",
|
|
20965
|
+
"type": "array",
|
|
20966
|
+
"items": {
|
|
20967
|
+
"type": "string"
|
|
20968
|
+
}
|
|
20969
|
+
}
|
|
20970
|
+
},
|
|
20971
|
+
"required": [
|
|
20972
|
+
"path"
|
|
20973
|
+
],
|
|
20974
|
+
"additionalProperties": false
|
|
20975
|
+
}
|
|
20976
|
+
}
|
|
20977
|
+
},
|
|
20978
|
+
"required": [
|
|
20979
|
+
"id",
|
|
20980
|
+
"format",
|
|
20981
|
+
"meta"
|
|
20982
|
+
],
|
|
20983
|
+
"additionalProperties": false
|
|
20984
|
+
},
|
|
20985
|
+
{
|
|
20986
|
+
"type": "object",
|
|
20987
|
+
"properties": {
|
|
20988
|
+
"id": {
|
|
20989
|
+
"type": "string",
|
|
20990
|
+
"minLength": 1,
|
|
20991
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
20992
|
+
"description": "Credential query identifier."
|
|
20993
|
+
},
|
|
20994
|
+
"multiple": {
|
|
20995
|
+
"description": "Allow multiple matching credentials.",
|
|
20996
|
+
"type": "boolean"
|
|
20997
|
+
},
|
|
20998
|
+
"claim_sets": {
|
|
20999
|
+
"description": "Optional claim set constraints.",
|
|
21000
|
+
"type": "array",
|
|
21001
|
+
"items": {
|
|
21002
|
+
"type": "array",
|
|
21003
|
+
"items": {
|
|
21004
|
+
"type": "string"
|
|
21005
|
+
}
|
|
21006
|
+
}
|
|
21007
|
+
},
|
|
21008
|
+
"trusted_authorities": {
|
|
21009
|
+
"description": "Optional trusted authority constraints.",
|
|
21010
|
+
"type": "array",
|
|
21011
|
+
"items": {
|
|
21012
|
+
"oneOf": [
|
|
21013
|
+
{
|
|
21014
|
+
"type": "object",
|
|
21015
|
+
"properties": {
|
|
21016
|
+
"type": {
|
|
21017
|
+
"type": "string",
|
|
21018
|
+
"const": "etsi_tl",
|
|
21019
|
+
"description": "Trusted authority type discriminator for ETSI trust lists."
|
|
21020
|
+
},
|
|
21021
|
+
"values": {
|
|
21022
|
+
"type": "array",
|
|
21023
|
+
"items": {
|
|
21024
|
+
"type": "object",
|
|
21025
|
+
"properties": {
|
|
21026
|
+
"trustListId": {
|
|
21027
|
+
"description": "Optional trust list id reference.",
|
|
21028
|
+
"type": "string"
|
|
21029
|
+
},
|
|
21030
|
+
"url": {
|
|
21031
|
+
"description": "Optional trust list URL reference.",
|
|
21032
|
+
"anyOf": [
|
|
21033
|
+
{
|
|
21034
|
+
"type": "string",
|
|
21035
|
+
"format": "uri"
|
|
21036
|
+
},
|
|
21037
|
+
{
|
|
21038
|
+
"type": "string",
|
|
21039
|
+
"pattern": "^<TENANT_URL>(?:\\/.*)?$"
|
|
21040
|
+
}
|
|
21041
|
+
]
|
|
21042
|
+
},
|
|
21043
|
+
"verifierKey": {
|
|
21044
|
+
"description": "Optional verifier key material.",
|
|
21045
|
+
"type": "object",
|
|
21046
|
+
"propertyNames": {
|
|
21047
|
+
"type": "string"
|
|
21048
|
+
},
|
|
21049
|
+
"additionalProperties": {}
|
|
21050
|
+
},
|
|
21051
|
+
"verifierX509Der": {
|
|
21052
|
+
"description": "Optional verifier certificate in DER/base64 form.",
|
|
21053
|
+
"type": "string"
|
|
21054
|
+
}
|
|
21055
|
+
},
|
|
21056
|
+
"additionalProperties": false
|
|
21057
|
+
},
|
|
21058
|
+
"description": "Trust list references for ETSI TL verification."
|
|
21059
|
+
}
|
|
21060
|
+
},
|
|
21061
|
+
"required": [
|
|
21062
|
+
"type",
|
|
21063
|
+
"values"
|
|
21064
|
+
],
|
|
21065
|
+
"additionalProperties": false
|
|
21066
|
+
},
|
|
21067
|
+
{
|
|
21068
|
+
"type": "object",
|
|
21069
|
+
"properties": {
|
|
21070
|
+
"type": {
|
|
21071
|
+
"type": "string",
|
|
21072
|
+
"const": "openid_federation",
|
|
21073
|
+
"description": "Trusted authority type discriminator for OpenID Federation."
|
|
21074
|
+
},
|
|
21075
|
+
"values": {
|
|
21076
|
+
"type": "array",
|
|
21077
|
+
"items": {
|
|
21078
|
+
"type": "string"
|
|
21079
|
+
},
|
|
21080
|
+
"description": "OpenID Federation authority identifiers."
|
|
21081
|
+
}
|
|
21082
|
+
},
|
|
21083
|
+
"required": [
|
|
21084
|
+
"type",
|
|
21085
|
+
"values"
|
|
21086
|
+
],
|
|
21087
|
+
"additionalProperties": false
|
|
21088
|
+
}
|
|
21089
|
+
]
|
|
21090
|
+
}
|
|
21091
|
+
},
|
|
21092
|
+
"format": {
|
|
21093
|
+
"type": "string",
|
|
21094
|
+
"const": "mso_mdoc",
|
|
21095
|
+
"description": "Credential format discriminator."
|
|
21096
|
+
},
|
|
21097
|
+
"meta": {
|
|
21098
|
+
"type": "object",
|
|
21099
|
+
"properties": {
|
|
21100
|
+
"doctype_value": {
|
|
21101
|
+
"type": "string",
|
|
21102
|
+
"minLength": 1,
|
|
21103
|
+
"description": "Expected mDoc doctype value."
|
|
21104
|
+
}
|
|
21105
|
+
},
|
|
21106
|
+
"required": [
|
|
21107
|
+
"doctype_value"
|
|
21108
|
+
],
|
|
21109
|
+
"additionalProperties": false
|
|
21110
|
+
},
|
|
21111
|
+
"claims": {
|
|
21112
|
+
"description": "Optional mDoc claim-level constraints.",
|
|
21113
|
+
"type": "array",
|
|
21114
|
+
"items": {
|
|
21115
|
+
"type": "object",
|
|
21116
|
+
"properties": {
|
|
21117
|
+
"id": {
|
|
21118
|
+
"description": "Optional claim query id.",
|
|
21119
|
+
"type": "string"
|
|
21120
|
+
},
|
|
21121
|
+
"path": {
|
|
21122
|
+
"type": "array",
|
|
21123
|
+
"items": {
|
|
21124
|
+
"type": [
|
|
21125
|
+
"string",
|
|
21126
|
+
"number"
|
|
21127
|
+
]
|
|
21128
|
+
},
|
|
21129
|
+
"description": "Path to the claim value in presented credentials."
|
|
21130
|
+
},
|
|
21131
|
+
"values": {
|
|
21132
|
+
"description": "Optional allowed values for the claim.",
|
|
21133
|
+
"type": "array",
|
|
21134
|
+
"items": {
|
|
21135
|
+
"type": "string"
|
|
21136
|
+
}
|
|
21137
|
+
},
|
|
21138
|
+
"intent_to_retain": {
|
|
21139
|
+
"description": "Whether relying party intends to retain the claim.",
|
|
21140
|
+
"type": "boolean"
|
|
21141
|
+
}
|
|
21142
|
+
},
|
|
21143
|
+
"required": [
|
|
21144
|
+
"path"
|
|
21145
|
+
],
|
|
21146
|
+
"additionalProperties": false
|
|
21147
|
+
}
|
|
21148
|
+
}
|
|
21149
|
+
},
|
|
21150
|
+
"required": [
|
|
21151
|
+
"id",
|
|
21152
|
+
"format",
|
|
21153
|
+
"meta"
|
|
21154
|
+
],
|
|
21155
|
+
"additionalProperties": false
|
|
21156
|
+
}
|
|
21157
|
+
]
|
|
21158
|
+
},
|
|
21159
|
+
"description": "Credential queries requested by the verifier."
|
|
21160
|
+
},
|
|
21161
|
+
"credential_sets": {
|
|
21162
|
+
"description": "Optional higher-level credential set requirements.",
|
|
21163
|
+
"type": "array",
|
|
21164
|
+
"items": {
|
|
21165
|
+
"type": "object",
|
|
21166
|
+
"properties": {
|
|
21167
|
+
"options": {
|
|
21168
|
+
"minItems": 1,
|
|
21169
|
+
"type": "array",
|
|
21170
|
+
"items": {
|
|
21171
|
+
"minItems": 1,
|
|
21172
|
+
"type": "array",
|
|
21173
|
+
"items": {
|
|
21174
|
+
"type": "string"
|
|
21175
|
+
}
|
|
21176
|
+
},
|
|
21177
|
+
"description": "Alternative credential query id combinations."
|
|
21178
|
+
},
|
|
21179
|
+
"required": {
|
|
21180
|
+
"description": "Whether this credential set is mandatory.",
|
|
21181
|
+
"type": "boolean"
|
|
21182
|
+
}
|
|
21183
|
+
},
|
|
21184
|
+
"required": [
|
|
21185
|
+
"options"
|
|
21186
|
+
],
|
|
21187
|
+
"additionalProperties": false
|
|
21188
|
+
}
|
|
21189
|
+
}
|
|
21190
|
+
},
|
|
21191
|
+
"required": [
|
|
21192
|
+
"credentials"
|
|
21193
|
+
],
|
|
21194
|
+
"additionalProperties": false,
|
|
21195
|
+
"description": "DCQL query defining requested credentials and claims."
|
|
21196
|
+
},
|
|
21197
|
+
"transaction_data": {
|
|
21198
|
+
"description": "Optional transaction data descriptors.",
|
|
21199
|
+
"anyOf": [
|
|
21200
|
+
{
|
|
21201
|
+
"type": "array",
|
|
21202
|
+
"items": {
|
|
21203
|
+
"type": "object",
|
|
21204
|
+
"properties": {
|
|
21205
|
+
"type": {
|
|
21206
|
+
"type": "string",
|
|
21207
|
+
"description": "Transaction data type identifier."
|
|
21208
|
+
},
|
|
21209
|
+
"credential_ids": {
|
|
21210
|
+
"type": "array",
|
|
21211
|
+
"items": {
|
|
21212
|
+
"type": "string"
|
|
21213
|
+
},
|
|
21214
|
+
"description": "Credential query ids this transaction data applies to."
|
|
21215
|
+
},
|
|
21216
|
+
"payload": {
|
|
21217
|
+
"description": "Transaction details. Required for TS12 SCA transaction data."
|
|
21218
|
+
}
|
|
21219
|
+
},
|
|
21220
|
+
"required": [
|
|
21221
|
+
"type",
|
|
21222
|
+
"credential_ids"
|
|
21223
|
+
],
|
|
21224
|
+
"additionalProperties": {}
|
|
21225
|
+
}
|
|
21226
|
+
},
|
|
21227
|
+
{
|
|
21228
|
+
"type": "null"
|
|
21229
|
+
}
|
|
21230
|
+
]
|
|
21231
|
+
},
|
|
21232
|
+
"registration_cert": {
|
|
21233
|
+
"description": "Optional registration certificate request settings.",
|
|
21234
|
+
"anyOf": [
|
|
21235
|
+
{
|
|
21236
|
+
"type": "object",
|
|
21237
|
+
"properties": {
|
|
21238
|
+
"id": {
|
|
21239
|
+
"type": "string"
|
|
21240
|
+
},
|
|
21241
|
+
"body": {
|
|
21242
|
+
"type": "object",
|
|
21243
|
+
"properties": {
|
|
21244
|
+
"privacy_policy": {
|
|
21245
|
+
"type": "string"
|
|
21246
|
+
},
|
|
21247
|
+
"support_uri": {
|
|
21248
|
+
"type": "string"
|
|
21249
|
+
},
|
|
21250
|
+
"intermediary": {
|
|
21251
|
+
"type": "string"
|
|
21252
|
+
},
|
|
21253
|
+
"purpose": {
|
|
21254
|
+
"type": "array",
|
|
21255
|
+
"items": {
|
|
21256
|
+
"type": "object",
|
|
21257
|
+
"properties": {
|
|
21258
|
+
"lang": {
|
|
21259
|
+
"type": "string"
|
|
21260
|
+
},
|
|
21261
|
+
"content": {
|
|
21262
|
+
"type": "string"
|
|
21263
|
+
}
|
|
21264
|
+
},
|
|
21265
|
+
"required": [
|
|
21266
|
+
"lang",
|
|
21267
|
+
"content"
|
|
21268
|
+
],
|
|
21269
|
+
"additionalProperties": false
|
|
21270
|
+
}
|
|
21271
|
+
},
|
|
21272
|
+
"credentials": {
|
|
21273
|
+
"type": "array",
|
|
21274
|
+
"items": {
|
|
21275
|
+
"type": "object",
|
|
21276
|
+
"propertyNames": {
|
|
21277
|
+
"type": "string"
|
|
21278
|
+
},
|
|
21279
|
+
"additionalProperties": {}
|
|
21280
|
+
}
|
|
21281
|
+
},
|
|
21282
|
+
"provides_attestations": {
|
|
21283
|
+
"type": "array",
|
|
21284
|
+
"items": {
|
|
21285
|
+
"type": "string",
|
|
21286
|
+
"minLength": 1
|
|
21287
|
+
}
|
|
21288
|
+
}
|
|
21289
|
+
},
|
|
21290
|
+
"additionalProperties": false
|
|
21291
|
+
},
|
|
21292
|
+
"jwt": {
|
|
21293
|
+
"type": "string"
|
|
21294
|
+
}
|
|
21295
|
+
},
|
|
21296
|
+
"additionalProperties": false
|
|
21297
|
+
},
|
|
21298
|
+
{
|
|
21299
|
+
"type": "null"
|
|
21300
|
+
}
|
|
21301
|
+
]
|
|
21302
|
+
},
|
|
21303
|
+
"registrationCertImportJwt": {
|
|
21304
|
+
"description": "Optional imported registration certificate JWT.",
|
|
21305
|
+
"type": [
|
|
21306
|
+
"string",
|
|
21307
|
+
"null"
|
|
21308
|
+
]
|
|
21309
|
+
},
|
|
21310
|
+
"registrationCertImportId": {
|
|
21311
|
+
"description": "Optional registrar-side registration certificate id.",
|
|
21312
|
+
"type": [
|
|
21313
|
+
"string",
|
|
21314
|
+
"null"
|
|
21315
|
+
]
|
|
21316
|
+
},
|
|
21317
|
+
"registrationCertBodyPrivacyPolicy": {
|
|
21318
|
+
"description": "Optional registration certificate privacy policy URI.",
|
|
21319
|
+
"type": [
|
|
21320
|
+
"string",
|
|
21321
|
+
"null"
|
|
21322
|
+
]
|
|
21323
|
+
},
|
|
21324
|
+
"registrationCertBodySupportUri": {
|
|
21325
|
+
"description": "Optional registration certificate support URI.",
|
|
21326
|
+
"type": [
|
|
21327
|
+
"string",
|
|
21328
|
+
"null"
|
|
21329
|
+
]
|
|
21330
|
+
},
|
|
21331
|
+
"registrationCertBodyIntermediary": {
|
|
21332
|
+
"description": "Optional registration certificate intermediary.",
|
|
21333
|
+
"type": [
|
|
21334
|
+
"string",
|
|
21335
|
+
"null"
|
|
21336
|
+
]
|
|
21337
|
+
},
|
|
21338
|
+
"registrationCertBodyPurpose": {
|
|
21339
|
+
"description": "Optional registration certificate purpose entries.",
|
|
21340
|
+
"anyOf": [
|
|
21341
|
+
{
|
|
21342
|
+
"type": "array",
|
|
21343
|
+
"items": {
|
|
21344
|
+
"type": "object",
|
|
21345
|
+
"properties": {
|
|
21346
|
+
"lang": {
|
|
21347
|
+
"type": "string"
|
|
21348
|
+
},
|
|
21349
|
+
"content": {
|
|
21350
|
+
"type": "string"
|
|
21351
|
+
}
|
|
21352
|
+
},
|
|
21353
|
+
"additionalProperties": false
|
|
21354
|
+
}
|
|
21355
|
+
},
|
|
21356
|
+
{
|
|
21357
|
+
"type": "null"
|
|
21358
|
+
}
|
|
21359
|
+
]
|
|
21360
|
+
},
|
|
21361
|
+
"webhookEndpointId": {
|
|
21362
|
+
"description": "Optional webhook endpoint id for presentation callbacks.",
|
|
21363
|
+
"type": [
|
|
21364
|
+
"string",
|
|
21365
|
+
"null"
|
|
21366
|
+
]
|
|
21367
|
+
},
|
|
21368
|
+
"attached": {
|
|
21369
|
+
"description": "Optional attachments included with presentation requests.",
|
|
21370
|
+
"anyOf": [
|
|
21371
|
+
{
|
|
21372
|
+
"type": "array",
|
|
21373
|
+
"items": {
|
|
21374
|
+
"type": "object",
|
|
21375
|
+
"properties": {
|
|
21376
|
+
"format": {
|
|
21377
|
+
"type": "string",
|
|
21378
|
+
"description": "Attachment format identifier."
|
|
21379
|
+
},
|
|
21380
|
+
"data": {
|
|
21381
|
+
"description": "Attachment payload."
|
|
21382
|
+
},
|
|
21383
|
+
"credential_ids": {
|
|
21384
|
+
"description": "Optional credential query ids bound to this attachment.",
|
|
21385
|
+
"type": "array",
|
|
21386
|
+
"items": {
|
|
21387
|
+
"type": "string"
|
|
21388
|
+
}
|
|
21389
|
+
}
|
|
21390
|
+
},
|
|
21391
|
+
"required": [
|
|
21392
|
+
"format",
|
|
21393
|
+
"data"
|
|
21394
|
+
],
|
|
21395
|
+
"additionalProperties": false
|
|
21396
|
+
}
|
|
21397
|
+
},
|
|
21398
|
+
{
|
|
21399
|
+
"type": "null"
|
|
21400
|
+
}
|
|
21401
|
+
]
|
|
21402
|
+
},
|
|
21403
|
+
"redirectUri": {
|
|
21404
|
+
"description": "Optional redirect URI after presentation completion.",
|
|
21405
|
+
"type": [
|
|
21406
|
+
"string",
|
|
21407
|
+
"null"
|
|
21408
|
+
]
|
|
21409
|
+
},
|
|
21410
|
+
"accessKeyChainId": {
|
|
21411
|
+
"description": "Optional key chain id for access token/auth operations.",
|
|
21412
|
+
"type": [
|
|
21413
|
+
"string",
|
|
21414
|
+
"null"
|
|
21415
|
+
]
|
|
21416
|
+
},
|
|
21417
|
+
"readerAuth": {
|
|
21418
|
+
"description": "Whether reader authentication is required for mDoc requests.",
|
|
21419
|
+
"type": [
|
|
21420
|
+
"boolean",
|
|
21421
|
+
"null"
|
|
21422
|
+
]
|
|
21423
|
+
}
|
|
21424
|
+
},
|
|
21425
|
+
"required": [
|
|
21426
|
+
"id",
|
|
21427
|
+
"dcql_query"
|
|
21428
|
+
],
|
|
21429
|
+
"additionalProperties": false,
|
|
21430
|
+
"title": "PresentationConfigCreateDto"
|
|
21431
|
+
}
|
|
21432
|
+
}
|
|
20004
21433
|
}
|
|
20005
21434
|
];
|
|
20006
21435
|
|
|
@@ -22726,7 +24155,7 @@ function createDeploymentCommands(context, setExitCode) {
|
|
|
22726
24155
|
// package.json
|
|
22727
24156
|
var package_default = {
|
|
22728
24157
|
name: "@eudiplo/cli",
|
|
22729
|
-
version: "8.1.0-main.
|
|
24158
|
+
version: "8.1.0-main.a83e1b5",
|
|
22730
24159
|
description: "Deployment-aware command line tools for EUDIPLO",
|
|
22731
24160
|
private: false,
|
|
22732
24161
|
type: "module",
|
|
@@ -22746,7 +24175,7 @@ var package_default = {
|
|
|
22746
24175
|
"build:sea:bundle": "pnpm assets:sync && pnpm assets:check && esbuild src/index.ts --bundle --platform=node --format=esm --target=node22.12 --alias:jsonc-parser=jsonc-parser/lib/esm/main.js --outfile=dist-sea/index.js",
|
|
22747
24176
|
"build:sea": "node scripts/build-cli-sea.mjs",
|
|
22748
24177
|
dev: "tsx src/index.ts",
|
|
22749
|
-
test: "vitest run --project cli",
|
|
24178
|
+
test: "vitest run --root ../.. --project cli",
|
|
22750
24179
|
lint: "biome lint .",
|
|
22751
24180
|
prepublishOnly: "pnpm build:publish"
|
|
22752
24181
|
},
|
|
@@ -22789,7 +24218,7 @@ var package_default = {
|
|
|
22789
24218
|
esbuild: "^0.28.2",
|
|
22790
24219
|
tsx: "^4.23.13",
|
|
22791
24220
|
typescript: "^7.0.2",
|
|
22792
|
-
vitest: "
|
|
24221
|
+
vitest: "5.0.2"
|
|
22793
24222
|
}
|
|
22794
24223
|
};
|
|
22795
24224
|
|
|
@@ -24134,7 +25563,7 @@ function parseVersion(tag) {
|
|
|
24134
25563
|
function compareVersions2(a, b) {
|
|
24135
25564
|
return a.major - b.major || a.minor - b.minor || a.patch - b.patch;
|
|
24136
25565
|
}
|
|
24137
|
-
var migrationBaseUrl = "https://docs.eudiplo.dev/
|
|
25566
|
+
var migrationBaseUrl = "https://docs.eudiplo.dev/upgrade";
|
|
24138
25567
|
function migrationNotes(from, to) {
|
|
24139
25568
|
const fromVersion = parseVersion(from);
|
|
24140
25569
|
const toVersion = parseVersion(to);
|
|
@@ -24380,7 +25809,7 @@ function createProgram(context, setExitCode) {
|
|
|
24380
25809
|
"Print the installed CLI version"
|
|
24381
25810
|
).helpCommand(true).addHelpText(
|
|
24382
25811
|
"afterAll",
|
|
24383
|
-
"\nFor more information, see https://docs.eudiplo.dev/
|
|
25812
|
+
"\nFor more information, see https://docs.eudiplo.dev/cookbooks/foundation"
|
|
24384
25813
|
);
|
|
24385
25814
|
program2.addCommand(createDemoCommand(context, setExitCode));
|
|
24386
25815
|
program2.addCommand(createInitCommand(context, setExitCode));
|