baseauth/README.md

66 lines
2.7 KiB
Markdown

# BaseAuth
BaseAuth is a simple auth server, which is not meant to be usable in production environments.
---
# API
The API uses HTTP and runs by default on port `8080`.
All requests to endpoints are `POST`.
The _Content-Type_ is always `application/json`, 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 |
| 403 | Rejected for security reasons (sql injection protection) |
| 409 | The requested username is already in use |
| 500 | Internal server error |
### `/authenticate`
Authenticates using an existing account.
#### Content / 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) |
| 403 | Rejected for security reasons (sql injection production) |
| 404 | There was no account found with the specified name |
| 500 | Internal server error |
---
# CLI
## Arguments
| Argument | Description |
|-----------------------------|-----------------------------------------------------------------------------------------|
| `-D / --daemon <port>` | Starts the server in daemon mode, to await api requests on the specified port, etc. |
| `-d / --delete <user,user>` | Deletes the account(s) associated with the specified username(s). |
| `-l / --list` | Lists all registered accounts |
| `-w / --dir <path>` | Specifies the working dir that will be used. This dir contains stuff like the database. |