Various improvements for usability and consistency and inclusion of PWA handling.
This commit is contained in:
46
README.md
46
README.md
@@ -10,8 +10,9 @@ It provides basic "infrastructure" and "Framework" for specific developments.
|
||||
- Eases updates by providing OTA update mechanism using update-server URL
|
||||
- Role based User Management
|
||||
- Standard Roles
|
||||
- Sysadmin (Can administer the system, update, change settings)
|
||||
- UserAdmin (Can administer user accounts)
|
||||
- SystemAdmin (Can administer the system, update, change settings)
|
||||
- AccessAdmin (Can administer user accounts, roles, and API access)
|
||||
- NetworkAdmin (Can administer network settings)
|
||||
- WebUIConnect (Allows logging in to the Web UI)
|
||||
- Debugger (Allowed to use API Test UI in the Web UI)
|
||||
- Secure, Role based Rest API for all functions
|
||||
@@ -33,7 +34,7 @@ It provides basic "infrastructure" and "Framework" for specific developments.
|
||||
- Users can be assigned zero or more roles
|
||||
- Allows to interactively calling of the Rest APIs via the web UI
|
||||
- The corresponding user token is preset with the current user's token by decfault, but it can be overwritten
|
||||
- This functionality is only accessible when the user has the role Debugger
|
||||
- This functionality is only accessible when the user has the role AccessAdmin
|
||||
- Enables secrity configuration of the exposed API functions
|
||||
- Configuration of logging
|
||||
- log level
|
||||
@@ -116,7 +117,7 @@ The firmware in `src/main.cpp` implements the boilerplate as a compact Arduino E
|
||||
- Configurable API access control where each route can be `PUBLIC` or require one role.
|
||||
- Public boilerplate APIs: ping, add, and LED brightness.
|
||||
- LED brightness is persisted in non-volatile memory, applied on boot, and loaded into the Admin UI slider.
|
||||
- User management with the standard roles `Sysadmin`, `UserAdmin`, `WebUIConnect`, and `Debugger`.
|
||||
- User management with the standard roles `SystemAdmin`, `AccessAdmin`, `NetworkAdmin`, `WebUIConnect`, and `Debugger`.
|
||||
- Custom role management. System roles are protected and cannot be deleted.
|
||||
- Active/inactive user accounts with role checkboxes in the Admin UI.
|
||||
- API security management through a list/detail UI with a role dropdown per API.
|
||||
@@ -224,7 +225,7 @@ The Admin UI stores HTTPS certificate material so applications built on this boi
|
||||
|
||||
To configure the stored certificate material:
|
||||
|
||||
1. Log in as a user with the `Sysadmin` role.
|
||||
1. Log in as a user with the `NetworkAdmin` role.
|
||||
2. Open `Networking` -> `HTTPS Certificate`.
|
||||
3. Select a certificate file and click `Save certificate`.
|
||||
4. Use `Load current` to verify what is currently stored.
|
||||
@@ -305,23 +306,26 @@ Protected APIs and their default roles:
|
||||
| --- | --- |
|
||||
| `POST /api/logout` | `WebUIConnect` |
|
||||
| `GET /api/me` | `WebUIConnect` |
|
||||
| `GET /api/apis` | `Sysadmin` |
|
||||
| `POST /api/apis` | `Sysadmin` |
|
||||
| `GET /api/users` | `UserAdmin` |
|
||||
| `POST /api/users` | `UserAdmin` |
|
||||
| `GET /api/apis` | `AccessAdmin` |
|
||||
| `POST /api/apis` | `AccessAdmin` |
|
||||
| `GET /api/users` | `AccessAdmin` |
|
||||
| `POST /api/users` | `AccessAdmin` |
|
||||
| `POST /api/password` | `WebUIConnect` |
|
||||
| `GET /api/settings` | `Sysadmin` |
|
||||
| `POST /api/settings` | `Sysadmin` |
|
||||
| `GET /api/logs` | `Debugger` |
|
||||
| `POST /api/logs/clear` | `Debugger` |
|
||||
| `GET /api/files` | `Debugger` |
|
||||
| `GET /api/files/download` | `Debugger` |
|
||||
| `POST /api/factory-reset` | `Sysadmin` |
|
||||
| `POST /api/ota/check` | `Sysadmin` |
|
||||
| `POST /api/ota/run` | `Sysadmin` |
|
||||
| `POST /api/update` | `Sysadmin` |
|
||||
| `GET /api/cert` | `Sysadmin` |
|
||||
| `POST /api/cert` | `Sysadmin` |
|
||||
| `GET /api/settings` | `SystemAdmin` |
|
||||
| `POST /api/settings` | `SystemAdmin` |
|
||||
| `GET /api/network` | `NetworkAdmin` |
|
||||
| `POST /api/network` | `NetworkAdmin` |
|
||||
| `GET /api/logs` | `SystemAdmin` |
|
||||
| `POST /api/logs/clear` | `SystemAdmin` |
|
||||
| `GET /api/files` | `SystemAdmin` |
|
||||
| `GET /api/files/download` | `SystemAdmin` |
|
||||
| `POST /api/restart` | `SystemAdmin` |
|
||||
| `POST /api/factory-reset` | `SystemAdmin` |
|
||||
| `POST /api/ota/check` | `SystemAdmin` |
|
||||
| `POST /api/ota/run` | `SystemAdmin` |
|
||||
| `POST /api/update` | `SystemAdmin` |
|
||||
| `GET /api/cert` | `NetworkAdmin` |
|
||||
| `POST /api/cert` | `NetworkAdmin` |
|
||||
|
||||
Change API security:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user