-
Notifications
You must be signed in to change notification settings - Fork 0
/
dcx-application.json
130 lines (130 loc) · 5.79 KB
/
dcx-application.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://formfree.github.io/.well-known/schema/dcx-application.json",
"description": "The Credential Application is a JSON object containing verifiable credentials to prove certain claims. The claims are defined in a Credential Manifest which is related to the Credential Application by the manifest_id property. Credential Responses respond to a Credential Application.",
"title": "Credential Application",
"type": "object",
"properties": {
"@context": {
"type": "array",
"items": {
"type": "string"
},
"description": "The @context of the application"
},
"type": {
"type": "array",
"items": {
"type": "string"
},
"description": "The type property of the application"
},
"credential_application": {
"type": "object",
"description": "The credential_application object",
"properties": {
"id": {
"type": "string",
"description": "A unique identifier, such as a UUID"
},
"spec_version": {
"type": "string",
"$ref": "https://identity.foundation/credential-manifest/#versioning"
},
"applicant": {
"type": "string",
"description": "A URI which uniquely identifies the applicant such as their did"
},
"manifest_id": {
"type": "string",
"description": "The id of a valid Credential Manifest"
},
"format": {
"type": "object",
"description": "A subset of the format property in the Credential that this Credential Application is related to. This Credential Application strictly uses the jwt format",
"jwt": {
"type": "object",
"description": "An object used to describe the JWT format of the verifiable credentials",
"properties": {
"alg": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
},
"pattern": "^EdDSA$"
}
},
"required": [
"alg"
],
"additionalProperties": false
},
"required": [
"jwt"
],
"additionalProperties": false
},
"presentation_submission": {
"description": "A valid Presentation Submission including the Verifiable Credentials that represent the Credential Application",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the presentation submission"
},
"definition_id": {
"type": "string",
"description": "The id value of a valid Presentation Definition found in the Credential Manifest related to this Credential Application"
},
"descriptor_map": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The id property of the Input Descriptor in the Presentation Definition found in the Credential Manifest related to this Credential Application"
},
"format": {
"type": "string",
"description": "The value must match the format definition of the Credential Application above"
},
"path": {
"type": "string",
"description": "Represents a JSONPath expression to extract the Verifiable Credential from the Credential Application, i.e. which credential to use for this input descriptor"
}
},
"required": [
"id",
"format",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"definition_id",
"descriptor_map"
],
"additionalProperties": false
}
},
"required": [
"id",
"spec_version",
"applicant",
"manifest_id",
"presentation_submission",
"format"
],
"additionalProperties": false
}
},
"required": [
"credential_application"
],
"additionalProperties": false
}