Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 8760c065 authored by Symeon LAMPADARIOS's avatar Symeon LAMPADARIOS Committed by Yannick HUARD
Browse files

feat: add IDunion schemas - EBSISD-2972

parent 46c759e6
No related branches found
No related tags found
1 merge request!72IDunion
Showing
with 617 additions and 79 deletions
---
"@cef-ebsi/vcdm1.1-idunion-odi-schema": major
"@cef-ebsi/vcdm1.1-idunion-poa-schema": major
---
Create initial version of the schema.
......@@ -263,6 +263,30 @@
"verification": "Documents",
"context": "General"
},
{
"name": "@cef-ebsi/vcdm1.1-idunion-odi-schema",
"version": "0.0.0",
"title": "Organization ID (ODI)",
"description": "Defines schema for an organization ID document",
"idBase16": "0xd53bf237f3b24b5f4aa5ea8a2c7b87b8952a97ab8c0c033b30a3f9843a8f3add",
"idBase58": "zFMNrfecxyCEaLgpusf9CP5aq651BpWUV4BM9x8KXxzNY",
"file": "schemas/vcdm1.1/idunion/odi/schema.json",
"vcdm": "1.1",
"verification": "Documents",
"context": "Digital Public Services Access"
},
{
"name": "@cef-ebsi/vcdm1.1-idunion-poa-schema",
"version": "0.0.0",
"title": "Power-of-Attorney",
"description": "",
"idBase16": "0x1bd1afd9a838d8c3f1679fca6478f8e05f6e0380ef29ca84c671df72142637a2",
"idBase58": "z2sbTT23X2zfsdMCPFMC7GiUwyHE91Lg9BpeEA5uqtT9s",
"file": "schemas/vcdm1.1/idunion/poa/schema.json",
"vcdm": "1.1",
"verification": "Documents",
"context": "Digital Public Services Access"
},
{
"name": "@cef-ebsi/vcdm1.1-multi-uni-pilot-education-verifiable-accreditation-records-schema",
"version": "1.3.0",
......
......@@ -27,13 +27,13 @@
},
"devDependencies": {
"@apidevtools/json-schema-ref-parser": "^11.7.0",
"@cef-ebsi/siop-auth": "^4.0.2",
"@cef-ebsi/verifiable-presentation": "^7.0.0",
"@cef-ebsi/siop-auth": "^4.0.3",
"@cef-ebsi/verifiable-presentation": "^7.0.1",
"@changesets/cli": "^2.27.7",
"@types/lodash.camelcase": "^4.3.9",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"axios": "^1.7.3",
"axios": "^1.7.7 ",
"canonicalize": "^1.0.8",
"commander": "^9.4.1",
"did-jwt": "^8.0.4",
......@@ -57,7 +57,7 @@
"multiformats": "^9.6.4",
"prettier": "^3.3.3",
"ts-morph": "^21.0.1",
"vitest": "^1.2.0"
"vitest": "^1.6.0"
},
"prettier": {},
"eslintConfig": {
......@@ -94,14 +94,11 @@
"packageManager": "pnpm@8.15.4+sha256.cea6d0bdf2de3a0549582da3983c70c92ffc577ff4410cbf190817ddc35137c2",
"pnpm": {
"auditConfig": {
"ignoreCves": [
"CVE-2024-42459",
"CVE-2024-42461",
"CVE-2024-42460"
]
"ignoreCves": []
},
"overrides": {
"ws@>=7.0.0 <7.5.10": ">=7.5.10"
"elliptic@6.5.4": "6.5.7",
"ws@7.4.6": "7.5.10"
}
}
}
......@@ -5,7 +5,8 @@ settings:
excludeLinksFromLockfile: false
overrides:
ws@>=7.0.0 <7.5.10: '>=7.5.10'
elliptic@6.5.4: 6.5.7
ws@7.4.6: 7.5.10
importers:
......@@ -15,11 +16,11 @@ importers:
specifier: ^11.7.0
version: 11.7.0
'@cef-ebsi/siop-auth':
specifier: ^4.0.2
version: 4.0.2
specifier: ^4.0.3
version: 4.0.3
'@cef-ebsi/verifiable-presentation':
specifier: ^7.0.0
version: 7.0.0(ajv@8.17.1)
specifier: ^7.0.1
version: 7.0.2(ajv@8.17.1)
'@changesets/cli':
specifier: ^2.27.7
version: 2.27.7
......@@ -33,8 +34,8 @@ importers:
specifier: ^3.0.1
version: 3.0.1(ajv@8.17.1)
axios:
specifier: ^1.7.3
version: 1.7.5
specifier: '^1.7.7 '
version: 1.7.7
canonicalize:
specifier: ^1.0.8
version: 1.0.8
......@@ -105,7 +106,7 @@ importers:
specifier: ^21.0.1
version: 21.0.1
vitest:
specifier: ^1.2.0
specifier: ^1.6.0
version: 1.6.0
schemas/vcdm1.1/accreditation:
......@@ -182,6 +183,18 @@ importers:
specifier: workspace:*
version: link:../../attestation
schemas/vcdm1.1/idunion/odi:
dependencies:
'@cef-ebsi/vcdm1.1-attestation-schema':
specifier: workspace:*
version: link:../../attestation
schemas/vcdm1.1/idunion/poa:
dependencies:
'@cef-ebsi/vcdm1.1-attestation-schema':
specifier: workspace:*
version: link:../../attestation
schemas/vcdm1.1/multi-uni-pilot/education-verifiable-accreditation-records:
dependencies:
'@cef-ebsi/vcdm1.1-attestation-schema':
......@@ -357,10 +370,10 @@ packages:
regenerator-runtime: 0.14.1
dev: true
/@cef-ebsi/ebsi-did-resolver@4.0.2:
resolution: {integrity: sha512-P7HXriYC/a7UXwy2xRGSa/gnA/tVUxilDPxUCnqxekayTsL0g1Ucgj8vqgAXPVX9qQvNBZkwIMyTXwkrEF5aqQ==}
/@cef-ebsi/ebsi-did-resolver@4.0.3:
resolution: {integrity: sha512-0GpZ1wtA0YZj4JqpnF2MhYqhOrNuEjh+QJLMOMAa8LKflBVoKljWsf41W8H61b5bbSXWlb0IjBCUqvXUacJAuw==}
dependencies:
axios: 1.7.5
axios: 1.7.7
did-resolver: 4.1.0
multiformats: 9.9.0
transitivePeerDependencies:
......@@ -371,8 +384,8 @@ packages:
resolution: {integrity: sha512-6YH8RehbOoFL+WES999HfiflYcYHxif4W5lWCHjsvUlPqmBRvOtEJ5pew/Fyi4goP4y0WbCwDWYGWfq3ywQ8hw==}
dev: true
/@cef-ebsi/key-did-resolver@2.0.2:
resolution: {integrity: sha512-3/NxIQhyxIyR+HQCo371fUQf4idNfWSRfILZrz2olU4VBYoaAagafL5JEtBhLqsg34L8nBeNp4euy2JcFYeMPw==}
/@cef-ebsi/key-did-resolver@2.0.3:
resolution: {integrity: sha512-6wcPGhGItnNA+nLmkvSnWwcinykNmEd6Msr8mwsaI8Qv4zzmnJE1I9V6YLqUsxZX+WZPKMOBcZ3c69LnIy9x7A==}
dependencies:
did-resolver: 4.1.0
jose: 4.15.9
......@@ -380,25 +393,25 @@ packages:
multiformats: 9.9.0
dev: true
/@cef-ebsi/key-encoder@1.0.2:
resolution: {integrity: sha512-WB5imyI+svqh1L57rqpqfDnTpvHVlsZ8mnj67KmRxHa7WzR9NjZU5sjefQNnMEBhSym2SXlLIs2F2JK9gIwk1w==}
/@cef-ebsi/key-encoder@1.0.3:
resolution: {integrity: sha512-8wduTq7NyD9A+QISjdubeIjA+EJRC1gCyyDyoKNrUMAJuP7YKqx/A0CHKEU3gnvIy/khSRAjYKsznQs+qyfhVg==}
dependencies:
asn1.js: 5.4.1
elliptic: 6.5.6
elliptic: 6.5.7
dev: true
/@cef-ebsi/siop-auth@4.0.2:
resolution: {integrity: sha512-+6qYOK8BYHtu48srPIVXWXYbe+1yoK26eJVuPmoQHWCsm2wnb5dRzCwibTdy0HhQtFGRclmEWA6n5haanWFZ0g==}
/@cef-ebsi/siop-auth@4.0.3:
resolution: {integrity: sha512-2wvJuzroOC9LuGlxupPeSTZXc2GLOvfvHgjrKGj9SH6TMxlLMqg2hMBT09nm7qzm+D/BP+IofBsQr9+TmxHgnA==}
dependencies:
'@cef-ebsi/ebsi-did-resolver': 4.0.2
'@cef-ebsi/key-did-resolver': 2.0.2
'@cef-ebsi/key-encoder': 1.0.2
'@noble/hashes': 1.4.0
axios: 1.7.5
'@cef-ebsi/ebsi-did-resolver': 4.0.3
'@cef-ebsi/key-did-resolver': 2.0.3
'@cef-ebsi/key-encoder': 1.0.3
'@noble/hashes': 1.5.0
axios: 1.7.7
did-jwt: 8.0.4
did-resolver: 4.1.0
eciesjs: 0.4.7
elliptic: 6.5.6
elliptic: 6.5.7
jose: 4.15.9
multiformats: 9.9.0
uuid: 9.0.1
......@@ -426,20 +439,20 @@ packages:
'@cef-ebsi/vcdm1.1-attestation-schema': 1.3.0
dev: true
/@cef-ebsi/verifiable-credential@6.0.0:
resolution: {integrity: sha512-RMv8UEldLALOFV2QmUANRamHUK5gsdbbLSPLoA8qetQXd67782tQFqCmodp5MKN2/3WmiSP+KVvZjLLCYa3xCg==}
/@cef-ebsi/verifiable-credential@6.0.2:
resolution: {integrity: sha512-m5jsPVvGGHMcw8ME/VOW5I3A3PK208OSWugdPmFe/A2uXl+l0ioRA9Zjd/fwlDUm7e/H8QsUl/VOTBQLTjtBbA==}
dependencies:
'@cef-ebsi/ebsi-did-resolver': 4.0.2
'@cef-ebsi/ebsi-did-resolver': 4.0.3
'@cef-ebsi/ebsi-uri': 0.1.0
'@cef-ebsi/key-did-resolver': 2.0.2
'@cef-ebsi/key-did-resolver': 2.0.3
'@cef-ebsi/vcdm1.1-accreditation-schema': 1.3.0
'@cef-ebsi/vcdm1.1-attestation-schema': 1.3.0
'@cef-ebsi/vcdm1.1-revocation-statuslist-schema': 1.3.0
'@noble/curves': 1.5.0
'@noble/curves': 1.6.0
'@segment/ajv-human-errors': 2.13.0(ajv@8.17.1)
ajv: 8.17.1
ajv-formats: 2.1.1(ajv@8.17.1)
axios: 1.7.5
axios: 1.7.7
did-jwt: 8.0.4
did-resolver: 4.1.0
ethers: 5.7.2
......@@ -455,14 +468,14 @@ packages:
- utf-8-validate
dev: true
/@cef-ebsi/verifiable-presentation@7.0.0(ajv@8.17.1):
resolution: {integrity: sha512-Fk1hQYruEo5mV92ysrxy2w2M5oWon8XCaU/jyc8WYNWh2kh2qh+iqM45Hxq0cQTjaMcjP3Q5JurhcVYJvkMw0w==}
/@cef-ebsi/verifiable-presentation@7.0.2(ajv@8.17.1):
resolution: {integrity: sha512-A+t3NGzqbC7X2pzyOq4865VRFyKNfGOljxDhNfjYvjJ1o7CUBJJp6ltbrdF6n96c0ZI8H22D1ITnQok8x3J+dA==}
dependencies:
'@cef-ebsi/ebsi-did-resolver': 4.0.2
'@cef-ebsi/ebsi-did-resolver': 4.0.3
'@cef-ebsi/ebsi-uri': 0.1.0
'@cef-ebsi/key-did-resolver': 2.0.2
'@cef-ebsi/key-did-resolver': 2.0.3
'@cef-ebsi/vcdm1.1-presentation-schema': 1.0.3
'@cef-ebsi/verifiable-credential': 6.0.0
'@cef-ebsi/verifiable-credential': 6.0.2
'@segment/ajv-human-errors': 2.13.0(ajv@8.17.1)
did-jwt: 8.0.4
did-resolver: 4.1.0
......@@ -1107,7 +1120,7 @@ packages:
'@ethersproject/transactions': 5.7.0
'@ethersproject/web': 5.7.1
bech32: 1.1.4
ws: 8.18.0
ws: 7.5.10
transitivePeerDependencies:
- bufferutil
- utf-8-validate
......@@ -1142,7 +1155,7 @@ packages:
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
bn.js: 5.2.1
elliptic: 6.5.4
elliptic: 6.5.7
hash.js: 1.1.7
dev: true
......@@ -1310,11 +1323,23 @@ packages:
'@noble/hashes': 1.4.0
dev: true
/@noble/curves@1.6.0:
resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==}
engines: {node: ^14.21.3 || >=16}
dependencies:
'@noble/hashes': 1.5.0
dev: true
/@noble/hashes@1.4.0:
resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
engines: {node: '>= 16'}
dev: true
/@noble/hashes@1.5.0:
resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==}
engines: {node: ^14.21.3 || >=16}
dev: true
/@nodelib/fs.scandir@2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
......@@ -1869,8 +1894,8 @@ packages:
possible-typed-array-names: 1.0.0
dev: true
/axios@1.7.5:
resolution: {integrity: sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==}
/axios@1.7.7:
resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==}
dependencies:
follow-redirects: 1.15.6
form-data: 4.0.0
......@@ -2327,23 +2352,11 @@ packages:
dependencies:
'@noble/ciphers': 0.5.3
'@noble/curves': 1.5.0
'@noble/hashes': 1.4.0
'@noble/hashes': 1.5.0
dev: true
/elliptic@6.5.4:
resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==}
dependencies:
bn.js: 4.12.0
brorand: 1.1.0
hash.js: 1.1.7
hmac-drbg: 1.0.1
inherits: 2.0.4
minimalistic-assert: 1.0.1
minimalistic-crypto-utils: 1.0.1
dev: true
/elliptic@6.5.6:
resolution: {integrity: sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ==}
/elliptic@6.5.7:
resolution: {integrity: sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==}
dependencies:
bn.js: 4.12.0
brorand: 1.1.0
......@@ -4229,6 +4242,10 @@ packages:
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
dev: true
/picocolors@1.1.0:
resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
dev: true
/picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
......@@ -4265,13 +4282,13 @@ packages:
engines: {node: '>= 0.4'}
dev: true
/postcss@8.4.41:
resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
/postcss@8.4.47:
resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.7
picocolors: 1.0.1
source-map-js: 1.2.0
picocolors: 1.1.0
source-map-js: 1.2.1
dev: true
/preferred-pm@3.1.4:
......@@ -4626,8 +4643,8 @@ packages:
is-fullwidth-code-point: 5.0.0
dev: true
/source-map-js@1.2.0:
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
/source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
dev: true
......@@ -4979,7 +4996,7 @@ packages:
debug: 4.3.6
pathe: 1.1.2
picocolors: 1.0.1
vite: 5.4.0
vite: 5.4.6
transitivePeerDependencies:
- '@types/node'
- less
......@@ -4992,8 +5009,8 @@ packages:
- terser
dev: true
/vite@5.4.0:
resolution: {integrity: sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==}
/vite@5.4.6:
resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
......@@ -5024,7 +5041,7 @@ packages:
optional: true
dependencies:
esbuild: 0.21.5
postcss: 8.4.41
postcss: 8.4.47
rollup: 4.20.0
optionalDependencies:
fsevents: 2.3.3
......@@ -5072,7 +5089,7 @@ packages:
strip-literal: 2.1.0
tinybench: 2.9.0
tinypool: 0.8.4
vite: 5.4.0
vite: 5.4.6
vite-node: 1.6.0
why-is-node-running: 2.3.0
transitivePeerDependencies:
......@@ -5195,12 +5212,12 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: true
/ws@8.18.0:
resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
engines: {node: '>=10.0.0'}
/ws@7.5.10:
resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
engines: {node: '>=8.3.0'}
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: '>=5.0.2'
utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
......
# @cef-ebsi/vcdm1.1-idunion-odi-schema
![EBSI Logo](https://ec.europa.eu/digital-building-blocks/sites/images/logo/default-space-logo.svg)
# @cef-ebsi/vcdm1.1-idunion-odi-schema
> Organization ID (ODI)
>
> Defines schema for an organization ID document
The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/apis/pilot/trusted-schemas-registry) with the IDs:
- `0xd53bf237f3b24b5f4aa5ea8a2c7b87b8952a97ab8c0c033b30a3f9843a8f3add` (hexadecimal)
- `zFMNrfecxyCEaLgpusf9CP5aq651BpWUV4BM9x8KXxzNY` (multibase base58btc)
## Table of Contents
- [JSON Schema](#json-schema)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)
## JSON Schema
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Organization ID (ODI)",
"description": "Defines schema for an organization ID document",
"type": "object",
"allOf": [
{
"$ref": "node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json"
},
{
"properties": {
"credentialSubject": {
"description": "Defines information about the subject that is described by the Verifiable ID",
"type": "object",
"properties": {
"id": {
"description": "Defines a unique identifier of the organization for which the ODI is issued (e.g. DID-subject)",
"type": "string"
},
"legalName": {
"title": "Legal Name",
"description": "Legal name of the organization the ODI is issued to",
"type": "string"
},
"legalForm": {
"title": "Legal Form",
"description": "The legal form associated to the organization",
"type": "string"
},
"issuingAuthorityName": {
"title": "Issuing authority name",
"description": "Legal name of the organization that issued the ODI",
"type": "string"
},
"issuingCountry": {
"title": "Issuing country",
"description": "An Alpha-2 country code as defined in ISO-3166-1",
"type": "string"
}
},
"required": [
"id",
"legalName",
"legalForm",
"issuingAuthorityName",
"issuingCountry"
]
}
}
}
]
}
```
## Installation
```sh
# with npm
npm add @cef-ebsi/vcdm1.1-idunion-odi-schema@0.0.0
# with Yarn
yarn add @cef-ebsi/vcdm1.1-idunion-odi-schema@0.0.0
# with pnpm
pnpm add @cef-ebsi/vcdm1.1-idunion-odi-schema@0.0.0
```
## Usage
The package exports the schema and its metadata as JavaScript objects:
```js
import { schema, metadata } from "@cef-ebsi/vcdm1.1-idunion-odi-schema";
// you can now use the schema and metadata
```
In addition, the package exports a TypeScript type corresponding to the schema:
```ts
import type { OrganizationIDODI } from "@cef-ebsi/vcdm1.1-idunion-odi-schema";
```
## License
Copyright (c) 2019 European Commission
Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
You may not use this work except in compliance with the Licence.
You may obtain a copy of the Licence at:
- <https://joinup.ec.europa.eu/page/eupl-text-11-12>
Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licence for the specific language governing permissions and limitations under the Licence.
{
"@context": ["https://www.w3.org/2018/credentials/v1"],
"credentialSchema": {
"id": "https://schema-registry.example.com/odi.json",
"type": "FullJsonSchemaValidator2021"
},
"credentialStatus": {
"id": "https://issuer.example.com/api/v1/issuer/d33987ec-6f41-11ef-ba7b-0a58a9feac02/status/0#0",
"statusListCredential": "https://issuer.example.com/api/v1/issuer/d33987ec-6f41-11ef-ba7b-0a58a9feac02/status/0",
"statusListIndex": "0",
"statusPurpose": "revocation",
"type": "StatusList2021Entry"
},
"credentialSubject": {
"id": "did:ebsi:z21YMcnrp5E3ocCNo5zimkeJ",
"issuingAuthorityName": "Unternehmensregister",
"issuingCountry": "Deutschland",
"legalForm": "GmbH",
"legalName": "Lindemann–Weierstrass Theorem"
},
"id": "did:ebsi:c83c606d-a03e-4a98-a8b6-df0127a425da",
"issuanceDate": "2024-09-12T08:17:29.981Z",
"issued": "2024-09-12T08:17:29.981Z",
"issuer": "did:ebsi:zfD5g8wydpKGguxMjhD4HLy",
"type": [
"VerifiableCredential",
"VerifiableAttestation",
"VerifiableId",
"OrganizationDigitalId"
],
"validFrom": "2024-09-12T08:17:29.981Z",
"validUntil": "2024-10-12T08:17:29.981Z"
}
{
"name": "@cef-ebsi/vcdm1.1-idunion-odi-schema",
"version": "0.0.0",
"description": "Organization Digital ID (VCDM 1.1)",
"license": "EUPL-1.2",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "https://code.europa.eu/ebsi/json-schema.git",
"directory": "schemas/vcdm1.1/idunion/odi"
},
"type": "module",
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
"sideEffects": false,
"files": [
"dist",
"examples",
"schema.json",
"schema.metadata.json"
],
"dependencies": {
"@cef-ebsi/vcdm1.1-attestation-schema": "workspace:*"
}
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Organization ID (ODI)",
"description": "Defines schema for an organization ID document",
"type": "object",
"allOf": [
{
"$ref": "node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json"
},
{
"properties": {
"credentialSubject": {
"description": "Defines information about the subject that is described by the Verifiable ID",
"type": "object",
"properties": {
"id": {
"description": "Defines a unique identifier of the organization for which the ODI is issued (e.g. DID-subject)",
"type": "string"
},
"legalName": {
"title": "Legal Name",
"description": "Legal name of the organization the ODI is issued to",
"type": "string"
},
"legalForm": {
"title": "Legal Form",
"description": "The legal form associated to the organization",
"type": "string"
},
"issuingAuthorityName": {
"title": "Issuing authority name",
"description": "Legal name of the organization that issued the ODI",
"type": "string"
},
"issuingCountry": {
"title": "Issuing country",
"description": "An Alpha-2 country code as defined in ISO-3166-1",
"type": "string"
}
},
"required": [
"id",
"legalName",
"legalForm",
"issuingAuthorityName",
"issuingCountry"
]
}
}
}
]
}
{
"vcdm": "1.1",
"id": {
"base16": "0xd53bf237f3b24b5f4aa5ea8a2c7b87b8952a97ab8c0c033b30a3f9843a8f3add",
"multibase_base58btc": "zFMNrfecxyCEaLgpusf9CP5aq651BpWUV4BM9x8KXxzNY"
},
"verification": "Documents",
"context": "Digital Public Services Access"
}
# @cef-ebsi/vcdm1.1-idunion-poa-schema
![EBSI Logo](https://ec.europa.eu/digital-building-blocks/sites/images/logo/default-space-logo.svg)
# @cef-ebsi/vcdm1.1-idunion-poa-schema
> Power-of-Attorney
The schema is published to the [Trusted Schemas Registry](https://hub.ebsi.eu/apis/pilot/trusted-schemas-registry) with the IDs:
- `0x1bd1afd9a838d8c3f1679fca6478f8e05f6e0380ef29ca84c671df72142637a2` (hexadecimal)
- `z2sbTT23X2zfsdMCPFMC7GiUwyHE91Lg9BpeEA5uqtT9s` (multibase base58btc)
## Table of Contents
- [JSON Schema](#json-schema)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)
## JSON Schema
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Power-of-Attorney",
"description": "",
"type": "object",
"allOf": [
{
"$ref": "node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json"
},
{
"properties": {
"credentialSubject": {
"description": "Defines information about the subject that is described by the Verifiable Power-of-Attorney",
"type": "object",
"properties": {
"id": {
"description": "Defines a unique identifier of the natural person for which the Power of Attorney is issued (e.g. DID-subject)",
"type": "string"
},
"poaScope": {
"description": "Attribute that describes the range of the PoA (if unlimited. Full_PoA = True; if limited. PoA = false)",
"type": "boolean"
},
"poaType": {
"description": "A positive list of human readable areas for which the PoA is valid",
"type": "array",
"items": {
"type": "string"
}
},
"familyName": {
"description": "Defines current family name(s) of the natural person",
"type": "string"
},
"firstName": {
"description": "Defines current first name(s) of the natural person",
"type": "string"
},
"dateOfBirth": {
"description": "Defines date of birth of the natural person",
"type": "string",
"format": "date"
},
"placeOfBirth": {
"description": "The city where the natural person was born",
"type": "string"
}
},
"required": [
"id",
"poaScope",
"familyName",
"firstName",
"dateOfBirth",
"placeOfBirth"
]
}
}
}
]
}
```
## Installation
```sh
# with npm
npm add @cef-ebsi/vcdm1.1-idunion-poa-schema@0.0.0
# with Yarn
yarn add @cef-ebsi/vcdm1.1-idunion-poa-schema@0.0.0
# with pnpm
pnpm add @cef-ebsi/vcdm1.1-idunion-poa-schema@0.0.0
```
## Usage
The package exports the schema and its metadata as JavaScript objects:
```js
import { schema, metadata } from "@cef-ebsi/vcdm1.1-idunion-poa-schema";
// you can now use the schema and metadata
```
In addition, the package exports a TypeScript type corresponding to the schema:
```ts
import type { PowerOfAttorney } from "@cef-ebsi/vcdm1.1-idunion-poa-schema";
```
## License
Copyright (c) 2019 European Commission
Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence");
You may not use this work except in compliance with the Licence.
You may obtain a copy of the Licence at:
- <https://joinup.ec.europa.eu/page/eupl-text-11-12>
Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licence for the specific language governing permissions and limitations under the Licence.
{
"@context": ["https://www.w3.org/2018/credentials/v1"],
"credentialSchema": {
"id": "https://schema-registry.example.com/poa.json",
"type": "FullJsonSchemaValidator2021"
},
"credentialStatus": {
"id": "https://issuer.example.com/api/v1/issuer/d33987ec-6f41-11ef-ba7b-0a58a9feac02/status/0#1",
"statusListCredential": "https://issuer.example.com/api/v1/issuer/d33987ec-6f41-11ef-ba7b-0a58a9feac02/status/0",
"statusListIndex": "1",
"statusPurpose": "revocation",
"type": "StatusList2021Entry"
},
"credentialSubject": {
"dateOfBirth": "2024-08-31",
"familyName": "Lindemann",
"firstName": "Ferdinand",
"id": "did:ebsi:zfD5g8wydpKGguxMjhD4HLy",
"placeOfBirth": "Hanover, Deutschland",
"poaScope": true,
"poaType": [""]
},
"id": "did:uuid:6fb35837-a816-4878-ba7d-0938bb401624",
"issuer": "did:ebsi:zfD5g8wydpKGguxMjhD4HLy",
"type": [
"VerifiableCredential",
"VerifiableAttestation",
"VerifiableAuthorisation",
"PowerOfAttorney"
],
"issuanceDate": "2024-09-12T08:22:06.037Z",
"issued": "2024-09-12T08:22:06.037Z",
"validFrom": "2024-09-12T08:22:06.037Z",
"validUntil": "2024-10-12T08:22:06.037Z"
}
{
"name": "@cef-ebsi/vcdm1.1-idunion-poa-schema",
"version": "0.0.0",
"description": "Power of Attorney (VCDM 1.1)",
"license": "EUPL-1.2",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "https://code.europa.eu/ebsi/json-schema.git",
"directory": "schemas/vcdm1.1/idunion/poa"
},
"type": "module",
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
"sideEffects": false,
"files": [
"dist",
"examples",
"schema.json",
"schema.metadata.json"
],
"dependencies": {
"@cef-ebsi/vcdm1.1-attestation-schema": "workspace:*"
}
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Power-of-Attorney",
"description": "",
"type": "object",
"allOf": [
{
"$ref": "node_modules/@cef-ebsi/vcdm1.1-attestation-schema/schema.json"
},
{
"properties": {
"credentialSubject": {
"description": "Defines information about the subject that is described by the Verifiable Power-of-Attorney",
"type": "object",
"properties": {
"id": {
"description": "Defines a unique identifier of the natural person for which the Power of Attorney is issued (e.g. DID-subject)",
"type": "string"
},
"poaScope": {
"description": "Attribute that describes the range of the PoA (if unlimited. Full_PoA = True; if limited. PoA = false)",
"type": "boolean"
},
"poaType": {
"description": "A positive list of human readable areas for which the PoA is valid",
"type": "array",
"items": {
"type": "string"
}
},
"familyName": {
"description": "Defines current family name(s) of the natural person",
"type": "string"
},
"firstName": {
"description": "Defines current first name(s) of the natural person",
"type": "string"
},
"dateOfBirth": {
"description": "Defines date of birth of the natural person",
"type": "string",
"format": "date"
},
"placeOfBirth": {
"description": "The city where the natural person was born",
"type": "string"
}
},
"required": [
"id",
"poaScope",
"familyName",
"firstName",
"dateOfBirth",
"placeOfBirth"
]
}
}
}
]
}
{
"vcdm": "1.1",
"id": {
"base16": "0x1bd1afd9a838d8c3f1679fca6478f8e05f6e0380ef29ca84c671df72142637a2",
"multibase_base58btc": "z2sbTT23X2zfsdMCPFMC7GiUwyHE91Lg9BpeEA5uqtT9s"
},
"verification": "Documents",
"context": "Digital Public Services Access"
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment