Go to file
antifallobst 9fc30d8d0a
feat(backend): implemented the backend for authentication
2023-08-12 20:47:31 +02:00
doc initial commit 2023-08-11 22:45:35 +02:00
src feat(backend): implemented the backend for authentication 2023-08-12 20:47:31 +02:00
.gitignore feat(treewide): added real logging and implemented the backend for registration 2023-08-12 18:35:41 +02:00
Cargo.lock feat(treewide): added real logging and implemented the backend for registration 2023-08-12 18:35:41 +02:00
Cargo.toml feat(treewide): added real logging and implemented the backend for registration 2023-08-12 18:35:41 +02:00
LICENSE initial commit 2023-08-11 22:45:35 +02:00
README.md feat(backend): built basic sql connection infrastructure and added sql injection protection 2023-08-12 16:55:13 +02:00

README.md

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 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.