Files
ziti/specs/source/shared/authenticators.yml
T
Andrew Martinez b562fb5c07 splits API specs into composible modules
- splits Open API 2.0 (swagger) into client/management APIs
- uses go-swaggers flatten capabilities
- uses newer version of go-swagger (v0.27.0)
- introduces /edge/client/v1, /edge/management/v1
- non-prefixed URLs default to /edge/client/v1
- splits some shared management/client API handlers
- renames some REST models to "client" instead of "limited"
- passes all apitests, fails dataflow upd test (main fails this as well)
- updates generate rest script for powershell
- todo: test generate rest script for bash
- todo: use xweb (different branch)
2021-05-04 11:30:32 -04:00

128 lines
3.7 KiB
YAML

---
paths:
responses:
listAuthenticators:
description: A list of authenticators
schema:
$ref: '#/definitions/listAuthenticatorsEnvelope'
detailAuthenticator:
description: A singular authenticator resource
schema:
$ref: '#/definitions/detailAuthenticatorEnvelope'
definitions:
listAuthenticatorsEnvelope:
type: object
properties:
meta:
$ref: 'standard-responses.yml#/definitions/meta'
data:
$ref: '#/definitions/authenticatorList'
detailAuthenticatorEnvelope:
type: object
required:
- meta
- data
properties:
meta:
$ref: 'standard-responses.yml#/definitions/meta'
data:
$ref: '#/definitions/authenticatorDetail'
authenticatorCreate:
description: Creates an authenticator for a specific identity which can be used for API authentication
type: object
required:
- username
- password
- method
- identityId
properties:
username:
type: string
description: The username that the identity will login with. Used only for method='updb'
password:
type: string
description: The password the identity will login with, Used only for method='updb'
method:
type: string
description: The type of authenticator to create; which will dictate which properties on this object are required.
identityId:
type: string
description: The id of an existing identity that will be assigned this authenticator
tags:
$ref: 'base-entity.yml#/definitions/tags'
authenticatorList:
description: An array of authenticator resources
type: array
items:
$ref: '#/definitions/authenticatorDetail'
authenticatorDetail:
description: A singular authenticator resource
type: object
allOf:
- $ref: 'base-entity.yml#/definitions/baseEntity'
- type: object
required:
- method
- identityId
- identity
properties:
method:
type: string
identityId:
type: string
identity:
$ref: 'base-entity.yml#/definitions/entityRef'
certPem:
type: string
fingerprint:
type: string
username:
type: string
authenticatorUpdate:
description: All of the fields on an authenticator that will be updated
type: object
required:
- username
- password
properties:
username:
$ref: 'authenticate.yml#/definitions/username'
password:
$ref: 'authenticate.yml#/definitions/password'
tags:
$ref: 'base-entity.yml#/definitions/tags'
authenticatorPatch:
description: All of the fields on an authenticator that may be updated
type: object
properties:
username:
$ref: 'authenticate.yml#/definitions/username-nullable'
password:
$ref: 'authenticate.yml#/definitions/password-nullable'
tags:
$ref: 'base-entity.yml#/definitions/tags'
authenticatorUpdateWithCurrent:
description: All of the fields on an authenticator that will be updated
type: object
allOf:
- $ref: '#/definitions/authenticatorUpdate'
- type: object
required:
- currentPassword
properties:
currentPassword:
$ref: 'authenticate.yml#/definitions/password'
authenticatorPatchWithCurrent:
description: All of the fields on an authenticator that may be updated
type: object
allOf:
- $ref: '#/definitions/authenticatorPatch'
- type: object
required:
- currentPassword
properties:
currentPassword:
$ref: 'authenticate.yml#/definitions/password'