Local User Login via API

OliveTin supports serveral different ways to login, and most installations will probably login via reverse proxy, or via local user login.

To login via local user login, you can use the following API call: /LocalUserLogin. This is documented in the API documentation which can be found here; https://docs.olivetin.app/api/

The API call is a POST request, and you need to provide a username and password as a JSON object in the body of the request. Here is an example of how you can login via a cURL request;

user@host: curl -X POST "http://olivetin-server:1337/api/LocalUserLogin" -H "accept: application/json" -H "Content-Type: application/json" -d '{"username":"admin","password":"toomanysecrets"}' -v
...
< Set-Cookie: olivetin-sid-local=c6c5b2b3-a58b-4dbc-b070-ed7bdd3f1956; Path=/; Max-Age=31556952; HttpOnly
...
{"success":true}

You can see from the above example that the header response sets a cookie called "olivetin-sid-local" to a UUID which is your session ID. You must include this cookie with future requests to authenticate yourself.

You can also that the body of the response is a JSON object with a simple success key, which will be true if the login was successful, and false if it was not.

Check login with WhoAmI

You can check your current login status by using the /WhoAmI API call. This is a GET request, and you need to provide the olivetin-sid-local cookie in the request. Here is an example of how you can check your login status via a cURL request;

user@host: curl -X GET http://localhost:1337/api/WhoAmI -H "accept: application/json" -H 'Content-Type: application/json' -b "olivetin-sid-local=cd33aa9c-c613-473e-8581-2b742716ab8e"
{"authenticatedUser":"admin", "usergroup":"", "provider":"local", "acls":[], "sid":""}