Skip to content

Commit 4644e51

Browse files
Merge pull request finos#1364 from YoofiTT96/nested_control_example
Nested control example
2 parents d0bf8e5 + f36c0b0 commit 4644e51

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": "https://calm.finos.org/draft/1233/prototype/authentication-control-requirement.json",
4+
"title": "Authentication Control Requirement",
5+
"type": "object",
6+
"properties": {
7+
"mechanism": {
8+
"type": "string",
9+
"enum": ["certificate", "OIDC/OAuth2", "password/secret", "saml"],
10+
"description": "Specifies the authentication mechanism used."
11+
},
12+
"certificate-authority": {
13+
"type": "string",
14+
"description": "The certificate authority used to sign client certificates."
15+
},
16+
"identity-provider": {
17+
"type": "string",
18+
"description": "The identity provider used for OIDC/OAuth2."
19+
},
20+
"client-password-storage": {
21+
"type": "string",
22+
"enum": ["credentials vault", "database", "file", "hardcoded in the application"],
23+
"description": "Where the client password or secret is stored."
24+
},
25+
"server-password-storage": {
26+
"type": "string",
27+
"enum": ["credentials vault", "database", "file"],
28+
"description": "Where the server password or secret is stored."
29+
}
30+
},
31+
"required": ["mechanism"],
32+
"allOf": [
33+
{
34+
"if": {
35+
"properties": { "mechanism": { "const": "certificate" } }
36+
},
37+
"then": {
38+
"required": ["certificate-authority"]
39+
}
40+
},
41+
{
42+
"if": {
43+
"properties": { "mechanism": { "const": "OIDC/OAuth2" } }
44+
},
45+
"then": {
46+
"required": ["identity-provider"]
47+
}
48+
},
49+
{
50+
"if": {
51+
"properties": { "mechanism": { "const": "password/secret" } }
52+
},
53+
"then": {
54+
"required": ["client-password-storage", "server-password-storage"]
55+
}
56+
}
57+
]
58+
}

0 commit comments

Comments
 (0)