Koha/api/v1/swagger/paths/auth.yaml
David Cook a8a356404c
Bug 30962: REST API: Add endpoint /auth/password/validation
This patch adds an endpoint for /auth/password/validation

This allows a third-party, using an authenticated and authorized Koha
API user, to check if the username and password given by a user is
correct in Koha.

For example, a Keycloak extension can be created using its
User Storage SPI to use Koha as the user database for Keycloak. This
API allows us to authenticate the user as a particular Koha user - without
creating a Koha user session for them.

Test plan:
0. Apply patch and koha-plack --restart kohadev
1. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=RESTBasicAuth
2. Enable "RESTBasicAuth"
3. Run the following commands while substituting correct values for <koha_user> and <koha_password>
3. curl -XPOST -H "Content-Type: application/json" -u <koha_user>:<koha_password> http://localhost:8081/api/v1/auth/password/validation -d '{ "username": "<koha_username">, "password": "<koha_password>" }' -v
4. Note "204 No Content" response
5. curl -XPOST -H "Content-Type: application/json" -u <koha_user>:<koha_password> http://localhost:8081/api/v1/auth/password/validation -d '{ "username": "<koha_username">, "password": "this is definitely not the password" }' -v
6. Note "400 Bad Request" response and error message {"error":"Validation failed"}

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-03 10:30:11 -03:00

1113 lines
32 KiB
YAML

---
/auth/otp/token_delivery:
post:
x-mojo-to: TwoFactorAuth#send_otp_token
operationId: send_otp_token
tags:
- 2fa
summary: Send OTP token for second step authentication
produces:
- application/json
responses:
"200":
description: OK
schema:
type: object
properties:
access_token:
type: string
token_type:
type: string
expires_in:
type: integer
additionalProperties: false
"400":
description: Bad Request
schema:
$ref: "../swagger.yaml#/definitions/error"
"403":
description: Access forbidden
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
catalogue: "1"
/auth/two-factor/registration:
post:
x-mojo-to: TwoFactorAuth#registration
operationId: Two factor register
tags:
- 2fa
summary: Generate a secret
produces:
- application/json
responses:
"201":
description: OK
schema:
type: object
properties:
secret32:
type: string
qr_code:
type: string
issuer:
type: string
key_id:
type: string
additionalProperties: false
"400":
description: Bad Request
schema:
$ref: "../swagger.yaml#/definitions/error"
"403":
description: Access forbidden
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
catalogue: "1"
/auth/two-factor/registration/verification:
post:
x-mojo-to: TwoFactorAuth#verification
operationId: Two factor register verification
tags:
- 2fa
summary: Verify two-factor registration
parameters:
- name: secret32
in: formData
description: the secret
required: true
type: string
- name: pin_code
in: formData
description: the pin code
required: true
type: string
produces:
- application/json
responses:
"204":
description: OK
"401":
description: Authentication required
schema:
$ref: "../swagger.yaml#/definitions/error"
"400":
description: Bad Request
schema:
$ref: "../swagger.yaml#/definitions/error"
"403":
description: Access forbidden
schema:
$ref: "../swagger.yaml#/definitions/error"
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
catalogue: "1"
/auth/providers:
get:
x-mojo-to: Auth::Providers#list
operationId: listAuthProviders
tags:
- auth_providers
summary: List configured authentication providers
parameters:
- $ref: ../swagger.yaml#/parameters/match
- $ref: ../swagger.yaml#/parameters/order_by
- $ref: ../swagger.yaml#/parameters/page
- $ref: ../swagger.yaml#/parameters/per_page
- $ref: ../swagger.yaml#/parameters/q_param
- $ref: ../swagger.yaml#/parameters/q_body
- $ref: ../swagger.yaml#/parameters/q_header
- $ref: ../swagger.yaml#/parameters/request_id_header
- name: x-koha-embed
in: header
required: false
description: Embed list sent as a request header
type: array
items:
type: string
enum:
- domains
collectionFormat: csv
produces:
- application/json
responses:
"200":
description: A list of authentication providers
schema:
type: array
items:
$ref: ../swagger.yaml#/definitions/auth_provider
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
post:
x-mojo-to: Auth::Providers#add
operationId: addAuthProvider
tags:
- auth_providers
summary: Add a new authentication provider
parameters:
- name: body
in: body
description: |
A JSON object containing OAuth provider parameters.
The `config` object required attributes depends on the chosen `protocol`
## OAuth
Requires:
* key
* secret
* authorize_url
* token_url
## OIDC
Requires:
* key
* secret
* well_known_url
required: true
schema:
$ref: ../swagger.yaml#/definitions/auth_provider
produces:
- application/json
responses:
"201":
description: The generated authentication provider
schema:
$ref: ../swagger.yaml#/definitions/auth_provider
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
"/auth/providers/{auth_provider_id}":
get:
x-mojo-to: Auth::Providers#get
operationId: getAuthProvider
tags:
- auth_providers
summary: Get authentication provider
parameters:
- $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
- name: x-koha-embed
in: header
required: false
description: Embed list sent as a request header
type: array
items:
type: string
enum:
- domains
collectionFormat: csv
produces:
- application/json
responses:
"200":
description: An authentication provider
schema:
$ref: ../swagger.yaml#/definitions/auth_provider
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
put:
x-mojo-to: Auth::Providers#update
operationId: updateAuthProvider
tags:
- auth_providers
summary: Update an authentication provider
parameters:
- $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
- name: body
in: body
description: |
A JSON object containing OAuth provider parameters.
The `config` object required attributes depends on the chosen `protocol`
## OAuth
Requires:
* key
* secret
* authorize_url
* token_url
## OIDC
Requires:
* key
* secret
* well_known_url
required: true
schema:
$ref: ../swagger.yaml#/definitions/auth_provider
produces:
- application/json
responses:
"200":
description: Updated authentication provider
schema:
$ref: ../swagger.yaml#/definitions/auth_provider
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
delete:
x-mojo-to: Auth::Providers#delete
operationId: delAuthProvider
tags:
- auth_providers
summary: Delete authentication provider
parameters:
- $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
produces:
- application/json
responses:
"204":
description: Authentication provider deleted
"401":
description: Authentication required
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: City not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
"/auth/providers/{auth_provider_id}/domains":
get:
x-mojo-to: Auth::Provider::Domains#list
operationId: listAuthProviderDomains
tags:
- auth_providers
summary: Get authentication provider configured domains
parameters:
- $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
- $ref: ../swagger.yaml#/parameters/match
- $ref: ../swagger.yaml#/parameters/order_by
- $ref: ../swagger.yaml#/parameters/page
- $ref: ../swagger.yaml#/parameters/per_page
- $ref: ../swagger.yaml#/parameters/q_param
- $ref: ../swagger.yaml#/parameters/q_body
- $ref: ../swagger.yaml#/parameters/q_header
- $ref: ../swagger.yaml#/parameters/request_id_header
- name: x-koha-embed
in: header
required: false
description: Embed list sent as a request header
type: array
items:
type: string
enum:
- domains
collectionFormat: csv
produces:
- application/json
responses:
"200":
description: An authentication provider
schema:
items:
$ref: ../swagger.yaml#/definitions/auth_provider_domain
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
post:
x-mojo-to: Auth::Provider::Domains#add
operationId: addAuthProviderDomain
tags:
- auth_providers
summary: Add an authentication provider domain
parameters:
- $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
- name: body
in: body
description: An authentication provider domain object
required: true
schema:
$ref: ../swagger.yaml#/definitions/auth_provider_domain
produces:
- application/json
responses:
"201":
description: Updated authentication provider domain
schema:
$ref: ../swagger.yaml#/definitions/auth_provider_domain
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
"/auth/providers/{auth_provider_id}/domains/{auth_provider_domain_id}":
get:
x-mojo-to: Auth::Provider::Domains#get
operationId: getAuthProviderDomain
tags:
- auth_providers
summary: Get authentication provider domain
parameters:
- $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
- $ref: ../swagger.yaml#/parameters/auth_provider_domain_id_pp
produces:
- application/json
responses:
"200":
description: An authentication provider
schema:
$ref: ../swagger.yaml#/definitions/auth_provider_domain
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
delete:
x-mojo-to: Auth::Provider::Domains#delete
operationId: delAuthProviderDomain
tags:
- auth_providers
summary: Delete authentication provider
parameters:
- $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
- $ref: ../swagger.yaml#/parameters/auth_provider_domain_id_pp
produces:
- application/json
responses:
"204":
description: Authentication provider deleted
"401":
description: Authentication required
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: City not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_authentication_providers
/auth/identity_providers:
get:
x-mojo-to: Auth::Identity::Providers#list
operationId: listIdentityProviders
tags:
- identity_providers
summary: List configured authentication providers
parameters:
- $ref: ../swagger.yaml#/parameters/match
- $ref: ../swagger.yaml#/parameters/order_by
- $ref: ../swagger.yaml#/parameters/page
- $ref: ../swagger.yaml#/parameters/per_page
- $ref: ../swagger.yaml#/parameters/q_param
- $ref: ../swagger.yaml#/parameters/q_body
- $ref: ../swagger.yaml#/parameters/q_header
- $ref: ../swagger.yaml#/parameters/request_id_header
- name: x-koha-embed
in: header
required: false
description: Embed list sent as a request header
type: array
items:
type: string
enum:
- domains
collectionFormat: csv
produces:
- application/json
responses:
"200":
description: A list of authentication providers
schema:
type: array
items:
$ref: ../swagger.yaml#/definitions/identity_provider
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
post:
x-mojo-to: Auth::Identity::Providers#add
operationId: addIdentityProvider
tags:
- identity_providers
summary: Add a new authentication provider
parameters:
- name: body
in: body
description: |
A JSON object containing OAuth provider parameters.
The `config` object required attributes depends on the chosen `protocol`
## OAuth
Requires:
* key
* secret
* authorize_url
* token_url
## OIDC
Requires:
* key
* secret
* well_known_url
required: true
schema:
$ref: ../swagger.yaml#/definitions/identity_provider
produces:
- application/json
responses:
"201":
description: The generated authentication provider
schema:
$ref: ../swagger.yaml#/definitions/identity_provider
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
"/auth/identity_providers/{identity_provider_id}":
get:
x-mojo-to: Auth::Identity::Providers#get
operationId: getIdentityProvider
tags:
- identity_providers
summary: Get authentication provider
parameters:
- $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
- name: x-koha-embed
in: header
required: false
description: Embed list sent as a request header
type: array
items:
type: string
enum:
- domains
collectionFormat: csv
produces:
- application/json
responses:
"200":
description: An authentication provider
schema:
$ref: ../swagger.yaml#/definitions/identity_provider
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
put:
x-mojo-to: Auth::Identity::Providers#update
operationId: updateIdentityProvider
tags:
- identity_providers
summary: Update an authentication provider
parameters:
- $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
- name: body
in: body
description: |
A JSON object containing OAuth provider parameters.
The `config` object required attributes depends on the chosen `protocol`
## OAuth
Requires:
* key
* secret
* authorize_url
* token_url
## OIDC
Requires:
* key
* secret
* well_known_url
required: true
schema:
$ref: ../swagger.yaml#/definitions/identity_provider
produces:
- application/json
responses:
"200":
description: Updated authentication provider
schema:
$ref: ../swagger.yaml#/definitions/identity_provider
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
delete:
x-mojo-to: Auth::Identity::Providers#delete
operationId: delIdentityProvider
tags:
- identity_providers
summary: Delete authentication provider
parameters:
- $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
produces:
- application/json
responses:
"204":
description: Authentication provider deleted
"401":
description: Authentication required
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: City not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
"/auth/identity_providers/{identity_provider_id}/domains":
get:
x-mojo-to: Auth::Identity::Provider::Domains#list
operationId: listIdentityProviderDomains
tags:
- identity_providers
summary: Get authentication provider configured domains
parameters:
- $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
- $ref: ../swagger.yaml#/parameters/match
- $ref: ../swagger.yaml#/parameters/order_by
- $ref: ../swagger.yaml#/parameters/page
- $ref: ../swagger.yaml#/parameters/per_page
- $ref: ../swagger.yaml#/parameters/q_param
- $ref: ../swagger.yaml#/parameters/q_body
- $ref: ../swagger.yaml#/parameters/q_header
- $ref: ../swagger.yaml#/parameters/request_id_header
- name: x-koha-embed
in: header
required: false
description: Embed list sent as a request header
type: array
items:
type: string
enum:
- domains
collectionFormat: csv
produces:
- application/json
responses:
"200":
description: An authentication provider
schema:
items:
$ref: ../swagger.yaml#/definitions/identity_provider_domain
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
post:
x-mojo-to: Auth::Identity::Provider::Domains#add
operationId: addIdentityProviderDomain
tags:
- identity_providers
summary: Add an authentication provider domain
parameters:
- $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
- name: body
in: body
description: An authentication provider domain object
required: true
schema:
$ref: ../swagger.yaml#/definitions/identity_provider_domain
produces:
- application/json
responses:
"201":
description: Updated authentication provider domain
schema:
$ref: ../swagger.yaml#/definitions/identity_provider_domain
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
"/auth/identity_providers/{identity_provider_id}/domains/{identity_provider_domain_id}":
get:
x-mojo-to: Auth::Identity::Provider::Domains#get
operationId: getIdentityProviderDomain
tags:
- identity_providers
summary: Get authentication provider domain
parameters:
- $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
- $ref: ../swagger.yaml#/parameters/identity_provider_domain_id_pp
produces:
- application/json
responses:
"200":
description: An authentication provider
schema:
$ref: ../swagger.yaml#/definitions/identity_provider_domain
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
put:
x-mojo-to: Auth::Identity::Provider::Domains#update
operationId: updateIdentityProviderDomain
tags:
- identity_providers
summary: Update an authentication provider domain
parameters:
- $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
- $ref: ../swagger.yaml#/parameters/identity_provider_domain_id_pp
- name: body
in: body
description: An authentication provider domain object
required: true
schema:
$ref: ../swagger.yaml#/definitions/identity_provider_domain
produces:
- application/json
responses:
"200":
description: Updated authentication provider domain
schema:
$ref: ../swagger.yaml#/definitions/identity_provider_domain
"400":
description: Bad Request
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: Object not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
delete:
x-mojo-to: Auth::Identity::Provider::Domains#delete
operationId: delIdentityProviderDomain
tags:
- identity_providers
summary: Delete authentication provider
parameters:
- $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
- $ref: ../swagger.yaml#/parameters/identity_provider_domain_id_pp
produces:
- application/json
responses:
"204":
description: Authentication provider deleted
"401":
description: Authentication required
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"404":
description: City not found
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
parameters: manage_identity_providers
"/auth/password/validation":
post:
x-mojo-to: Auth::Password#validate
operationId: validateUserAndPassword
tags:
- patrons
summary: Check validity of username and password
parameters:
- name: body
in: body
description: A JSON object containing username and password information
schema:
type: object
properties:
username:
description: Username
type: string
password:
description: Password (plain text)
type: string
required:
- username
- password
additionalProperties: false
produces:
- application/json
responses:
"204":
description: Validation successful
"400":
description: Bad request
schema:
$ref: ../swagger.yaml#/definitions/error
"401":
description: Authentication required
schema:
$ref: ../swagger.yaml#/definitions/error
"403":
description: Access forbidden
schema:
$ref: ../swagger.yaml#/definitions/error
"500":
description: |
Internal server error. Possible `error_code` attribute values:
* `internal_server_error`
schema:
$ref: ../swagger.yaml#/definitions/error
"503":
description: Under maintenance
schema:
$ref: ../swagger.yaml#/definitions/error
x-koha-authorization:
permissions:
borrowers: "1"