Files
Andrew MartinezandGitHub 2a12985526 Fix.openziti.ziti.3356.www.authenticate.headers (#169)
* for openziti/ziti#3356 add www-authenticate headers

- adds www-authenticate headers to all responses
- moves to swagger 0.33.1
- updates readme
- updates version checking in powershell and bash
2026-02-12 13:41:23 -05:00

477 lines
13 KiB
YAML

---
paths:
external-jwt-signers:
get:
summary: List External JWT Signers
description: Retrieves a list of external JWT signers for authentication
security:
- ztSession: [ ]
- oauth2: [ openid ]
tags:
- External JWT Signer
operationId: listExternalJwtSigners
parameters:
- $ref: '../shared/parameters.yml#/limit'
- $ref: '../shared/parameters.yml#/offset'
- $ref: '../shared/parameters.yml#/filter'
responses:
'200':
$ref: '#/responses/listExternalJwtSigners'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'429':
$ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse'
'503':
$ref: '../shared/standard-responses.yml#/responses/serverUnavailableResponse'
post:
summary: Creates an External JWT Signer
description: Creates an External JWT Signer. Requires admin access.
security:
- ztSession: [ ]
- oauth2: [ openid ]
tags:
- External JWT Signer
operationId: createExternalJwtSigner
parameters:
- name: externalJwtSigner
in: body
required: true
description: An External JWT Signer to create
schema:
$ref: '#/definitions/externalJwtSignerCreate'
responses:
'201':
$ref: '../shared/standard-responses.yml#/responses/createResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
'429':
$ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse'
'503':
$ref: '../shared/standard-responses.yml#/responses/serverUnavailableResponse'
external-jwt-signers-id:
parameters:
- $ref: '../shared/parameters.yml#/id'
get:
summary: Retrieves a single External JWT Signer
description: Retrieves a single External JWT Signer by id. Requires admin access.
security:
- ztSession: [ ]
- oauth2: [ openid ]
tags:
- External JWT Signer
operationId: detailExternalJwtSigner
responses:
'200':
$ref: '#/responses/detailExternalJwtSigner'
'404':
$ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
'429':
$ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse'
'503':
$ref: '../shared/standard-responses.yml#/responses/serverUnavailableResponse'
put:
summary: Update all fields on an External JWT Signer
description: Update all fields on an External JWT Signer by id. Requires admin access.
security:
- ztSession: [ ]
- oauth2: [ openid ]
tags:
- External JWT Signer
operationId: updateExternalJwtSigner
parameters:
- name: externalJwtSigner
in: body
required: true
description: An External JWT Signer update object
schema:
$ref: '#/definitions/externalJwtSignerUpdate'
responses:
'200':
$ref: '../shared/standard-responses.yml#/responses/updateResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'404':
$ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
'429':
$ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse'
'503':
$ref: '../shared/standard-responses.yml#/responses/serverUnavailableResponse'
patch:
summary: Update the supplied fields on an External JWT Signer
description: Update only the supplied fields on an External JWT Signer by id. Requires admin access.
security:
- ztSession: [ ]
- oauth2: [ openid ]
tags:
- External JWT Signer
operationId: patchExternalJwtSigner
parameters:
- name: externalJwtSigner
in: body
required: true
description: An External JWT Signer patch object
schema:
$ref: '#/definitions/externalJwtSignerPatch'
responses:
'200':
$ref: '../shared/standard-responses.yml#/responses/patchResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'404':
$ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
'429':
$ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse'
'503':
$ref: '../shared/standard-responses.yml#/responses/serverUnavailableResponse'
delete:
summary: Delete an External JWT Signer
description: |
Delete an External JWT Signer by id. Requires admin access.
security:
- ztSession: [ ]
- oauth2: [ openid ]
tags:
- External JWT Signer
operationId: deleteExternalJwtSigner
responses:
'200':
$ref: '../shared/standard-responses.yml#/responses/deleteResponse'
'400':
$ref: '../shared/standard-responses.yml#/responses/badRequestResponse'
'401':
$ref: '../shared/standard-responses.yml#/responses/unauthorizedResponse'
'404':
$ref: '../shared/standard-responses.yml#/responses/notFoundResponse'
'429':
$ref: '../shared/standard-responses.yml#/responses/rateLimitedResponse'
'503':
$ref: '../shared/standard-responses.yml#/responses/serverUnavailableResponse'
responses:
listExternalJwtSigners:
description: A list of External JWT Signers
headers:
WWW-Authenticate:
description: "Denotes different type of security token related information"
type: array
items:
type: string
schema:
$ref: '#/definitions/listExternalJwtSignersEnvelope'
detailExternalJwtSigner:
description: A singular External JWT Signer resource
headers:
WWW-Authenticate:
description: "Denotes different type of security token related information"
type: array
items:
type: string
schema:
$ref: '#/definitions/detailExternalJwtSignerEnvelope'
definitions:
listExternalJwtSignersEnvelope:
type: object
required:
- meta
- data
properties:
meta:
$ref: '../shared/standard-responses.yml#/definitions/meta'
data:
$ref: '#/definitions/externalJwtSignerList'
detailExternalJwtSignerEnvelope:
type: object
required:
- meta
- data
properties:
meta:
$ref: '../shared/standard-responses.yml#/definitions/meta'
data:
$ref: '#/definitions/externalJwtSignerDetail'
externalJwtSignerList:
description: An array of External JWT Signers resources
type: array
items:
$ref: '#/definitions/externalJwtSignerDetail'
externalJwtSignerDetail:
description: A External JWT Signer resource
type: object
allOf:
- $ref: '../shared/base-entity.yml#/definitions/baseEntity'
- type: object
required:
- name
- certPem
- jwksEndpoint
- enabled
- fingerprint
- commonName
- notAfter
- notBefore
- externalAuthUrl
- claimsProperty
- useExternalId
- kid
- issuer
- audience
- clientId
- scopes
- targetToken
properties:
name:
type: string
example: 'MyApps Signer'
certPem:
type: string
x-nullable: true
jwksEndpoint:
type: string
format: uri
x-nullable: true
enabled:
type: boolean
fingerprint:
type: string
commonName:
type: string
notAfter:
type: string
format: date-time
notBefore:
type: string
format: date-time
externalAuthUrl:
type: string
format: url
claimsProperty:
type: string
useExternalId:
type: boolean
kid:
type: string
issuer:
type: string
audience:
type: string
clientId:
type: string
scopes:
type: array
items:
type: string
targetToken:
$ref: "../shared/ext-jwt-signers.yml#/definitions/targetToken"
enrollToCertEnabled:
type: boolean
enrollToTokenEnabled:
type: boolean
enrollAttributeClaimsSelector:
type: string
enrollAuthPolicyId:
type: string
enrollNameClaimsSelector:
type: string
externalJwtSignerCreate:
description: A create Certificate Authority (CA) object
type: object
required:
- name
- enabled
- issuer
- audience
properties:
name:
type: string
example: 'MyApps Signer'
certPem:
type: string
x-nullable: true
jwksEndpoint:
type: string
format: uri
x-nullable: true
enabled:
type: boolean
externalAuthUrl:
type: string
format: url
x-nullable: true
kid:
type: string
x-nullable: true
claimsProperty:
type: string
x-nullable: true
useExternalId:
type: boolean
x-nullable: true
issuer:
type: string
audience:
type: string
x-nullable: true
clientId:
type: string
x-nullable: true
scopes:
type: array
items:
type: string
x-nullable: true
targetToken:
$ref: "../shared/ext-jwt-signers.yml#/definitions/targetToken"
tags:
$ref: '../shared/base-entity.yml#/definitions/tags'
enrollToCertEnabled:
type: boolean
enrollToTokenEnabled:
type: boolean
enrollAttributeClaimsSelector:
type: string
enrollAuthPolicyId:
type: string
enrollNameClaimsSelector:
type: string
externalJwtSignerUpdate:
type: object
required:
- name
- enabled
- issuer
- audience
properties:
name:
type: string
example: 'MyApps Signer'
certPem:
type: string
x-nullable: true
jwksEndpoint:
type: string
format: uri
x-nullable: true
enabled:
type: boolean
externalAuthUrl:
type: string
format: url
x-nullable: true
kid:
type: string
x-nullable: true
claimsProperty:
type: string
x-nullable: true
useExternalId:
type: boolean
x-nullable: true
issuer:
type: string
audience:
type: string
x-nullable: true
clientId:
type: string
x-nullable: true
scopes:
type: array
items:
type: string
x-nullable: true
targetToken:
$ref: "../shared/ext-jwt-signers.yml#/definitions/targetToken"
tags:
$ref: '../shared/base-entity.yml#/definitions/tags'
enrollToCertEnabled:
type: boolean
x-nullable: true
enrollToTokenEnabled:
type: boolean
x-nullable: true
enrollAttributeClaimsSelector:
type: string
x-nullable: true
enrollAuthPolicyId:
type: string
x-nullable: true
enrollNameClaimsSelector:
type: string
x-nullable: true
externalJwtSignerPatch:
type: object
properties:
name:
type: string
example: 'MyApps Signer'
x-nullable: true
certPem:
type: string
x-nullable: true
jwksEndpoint:
type: string
format: uri
x-nullable: true
enabled:
type: boolean
x-nullable: true
kid:
type: string
x-nullable: true
externalAuthUrl:
type: string
format: url
x-nullable: true
claimsProperty:
type: string
x-nullable: true
useExternalId:
type: boolean
x-nullable: true
issuer:
type: string
x-nullable: true
audience:
type: string
x-nullable: true
clientId:
type: string
x-nullable: true
scopes:
type: array
items:
type: string
targetToken:
$ref: "../shared/ext-jwt-signers.yml#/definitions/targetToken"
tags:
$ref: '../shared/base-entity.yml#/definitions/tags'
enrollToCertEnabled:
type: boolean
x-nullable: true
enrollToTokenEnabled:
type: boolean
x-nullable: true
enrollAttributeClaimsSelector:
type: string
x-nullable: true
enrollAuthPolicyId:
type: string
x-nullable: true
enrollNameClaimsSelector:
type: string
x-nullable: true