Skip to content

Commit e004704

Browse files
Merge branch 'draft' into locations-endpoint
2 parents 2da5d49 + 5209041 commit e004704

File tree

5 files changed

+101
-3
lines changed

5 files changed

+101
-3
lines changed

build/build_apis.cmd

+11-3
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,22 @@
22
# Assumes the command is run from the root folder i.e ./standards
33
# For each new category, please make sure to add a reference link in this file for easy auto generation of yamls.
44
5+
# build auth APIs
56
swagger-cli -f 2 -t yaml bundle ./src/authz/authz_core_api_v1.0.0.yaml -o ./release/yaml/authz_core_api_v1.0.0.yaml
6-
swagger-cli -f 2 -t yaml bundle ./src/registry/registry_core_api_v1.0.0.yaml -o ./release/yaml/registry_core_api_v1.0.0.yaml
7-
swagger-cli -f 2 -t yaml bundle ./src/locations/locations_core_api_v1.0.0.yaml -o ./release/yaml/locations_core_api_v1.0.0.yaml
8-
97
redocly build-docs ./release/yaml/authz_core_api_v1.0.0.yaml -o ./release/html/authz_core_api_v1.0.0.html
8+
9+
# build registry core APIs
10+
swagger-cli -f 2 -t yaml bundle ./src/registry/registry_core_api_v1.0.0.yaml -o ./release/yaml/registry_core_api_v1.0.0.yaml
1011
redocly build-docs ./release/yaml/registry_core_api_v1.0.0.yaml -o ./release/html/registry_core_api_v1.0.0.html
12+
13+
# build locations APIs
14+
swagger-cli -f 2 -t yaml bundle ./src/locations/locations_core_api_v1.0.0.yaml -o ./release/yaml/locations_core_api_v1.0.0.yaml
1115
redocly build-docs ./release/yaml/locations_core_api_v1.0.0.yaml -o ./release/html/locations_core_api_v1.0.0.html
1216

17+
# build jwks APIs
18+
swagger-cli -f 2 -t yaml bundle ./src/jwks/jwks_core_api_v1.0.0.yaml -o ./release/yaml/jwks_core_api_v1.0.0.yaml
19+
redocly build-docs ./release/yaml/jwks_core_api_v1.0.0.yaml -o ./release/html/jwks_core_api_v1.0.0.html
20+
1321
# IBR registry build steps
1422
swagger-cli -f 2 -t yaml bundle ./src/registry/ibr_api_v1.0.0.yaml -o ./release/yaml/ibr_api_v1.0.0.yaml
1523
redocly build-docs ./release/yaml/ibr_api_v1.0.0.yaml -o ./release/html/ibr_api_v1.0.0.html

src/jwks/README.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## G2P Connect JSON Web Token Set Specs
2+
3+
### Wiki Pages
4+
1. [Specifications](https://digital-convergence-initiative-d.gitbook.io/dci-standards-1/standards/1.-crvs)
5+
6+
### Reference Links
7+
1. [Build Instructions](../build_instructions.md) to edit and build swagger yaml files.

src/jwks/jwks_core_api_v1.0.0.yaml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
openapi: 3.0.3
2+
info:
3+
title: Interoperability APIs - JWKs
4+
x-logo:
5+
url: 'https://spdci.github.io/api-documentation/draft/dci-logo.png'
6+
backgroundColor: '#FFFFFF'
7+
altText: 'Digital Convergence Initiative'
8+
description: Provide JSON Web Key Set to registered clients/services.
9+
version: 1.0.0
10+
contact:
11+
name: DCI Social Protection
12+
13+
license:
14+
name: DCI Social Protection License
15+
url: https://github.com/spdci/standards/blob/draft/LICENSE.md
16+
servers:
17+
- url: "https://sandbox.spdci.org/namespace/v1.0.0"
18+
description: Sandbox Server
19+
paths:
20+
/.well-known/jwks.json:
21+
get:
22+
summary: "JWKs : /.well-known/jwks.json"
23+
description: "This end point is in compliance with RFC 7517 to share the encryption & signature verification public keys over HTTPS channel"
24+
operationId: get_jwks_json
25+
responses:
26+
'200':
27+
description: "JSON Web Key Set Response"
28+
content:
29+
application/json:
30+
schema:
31+
$ref: "#/components/schemas/JWKSResponse"
32+
'404':
33+
$ref: "#/components/responses/HttpErrorResponse"
34+
'500':
35+
$ref: "#/components/responses/HttpErrorResponse"
36+
deprecated: false
37+
components:
38+
schemas:
39+
JWKSResponse:
40+
$ref: schema/core/JWKSResponse.yaml
41+
responses:
42+
HttpErrorResponse:
43+
$ref: "../common/response/HttpErrorResponse.yaml"
44+

src/jwks/schema/core/JWK.yaml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
type: object
2+
additionalProperties: true
3+
properties:
4+
kty:
5+
description: "The cryptographic algorithm family used with the key"
6+
type: string
7+
example: RSA
8+
kid:
9+
description: "The thumbprint of the key according to RFC 7638 which will be used to match a JWS or JWE 'kid' header parameter value"
10+
type: string
11+
use:
12+
description: "The intended use of the key"
13+
type: string
14+
enum: [sig, enc]
15+
alg:
16+
description: "Identify the algorithm intented for use with the key"
17+
type: string
18+
example: RS256
19+
required:
20+
- kty
21+
- kid
22+
- use
23+
- alg
24+
description: "JSON Web Key Set"
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
type: object
2+
properties:
3+
keys:
4+
description: "An array of public JWKs used for encryption & verification. In addition to the common properties, each JWK will have properties that are key type specific."
5+
type: array
6+
items:
7+
$ref: "#/components/schemas/JWK"
8+
required:
9+
- keys
10+
description: "JSON Web Key Set"
11+
components:
12+
schemas:
13+
JWK:
14+
$ref: ./JWK.yaml
15+

0 commit comments

Comments
 (0)