From cc2e6080f404f0e50ae2677d76595a5684673daa Mon Sep 17 00:00:00 2001 From: antifallobst Date: Sat, 12 Aug 2023 15:33:41 +0200 Subject: [PATCH] docs(readme): documented API and CLI --- README.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/README.md b/README.md index b7fceac..1219414 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,62 @@ # BaseAuth Baseauth is a simple auth server, which is not meant to be usable in production environments. +--- + +# API +The API runs uses HTTP and runs by default on port `8080`. +All requests to endpoints are `POST`. +The _Content-Type_ is always `application/json`, so all payloads are JSON strings. + +## endpoints +### `/register` +Registers a new account. + +#### Content / Payload + +| Field | Description | +|------------|-----------------------------------| +| `username` | The username of the account | +| `password` | The accounts' clear text password | + +#### Responses + +| Response | Description | +|----------|–-----------------------------------------| +| 200 | User created successfully | +| 400 | Formal error in the request | +| 409 | The requested username is already in use | +| 500 | Internal server error | + + +### `/authenticate` +Authenticates using an existing account. + +#### Payload + +| Field | Description | +|------------|-----------------------------------| +| `username` | The username of the account | +| `password` | The accounts' clear text password | + +#### Responses + +| Response | Description | +|----------|–---------------------------------------------------| +| 200 | Authenticated successfully | +| 400 | Formal error in the request | +| 401 | Authentication failure (wrong password) | +| 404 | There was no account found with the specified name | +| 500 | Internal server error | + +--- + +# CLI + +## Arguments + +| Argument | Description | +|----------------------------|-----------------------------------------------------------------------------------------| +| `-D | --daemon` | Starts the server in daemon mode, to await api requests, etc. | +| `-d | --delete ` | Deletes the account associated with the specified username. | +| `-w | --dir ` | Specifies the working dir that will be used. This dir contains stuff like the database. |