baseauth/README.md

63 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 <username>` | Deletes the account associated with the specified username. |
| `-w | --dir <path>` | Specifies the working dir that will be used. This dir contains stuff like the database. |