Wat OpenPlatform is: één portaal voor al je webtoepassingen
OpenPlatform is een kant-en-klaar portaal voor je webtoepassingen. Je mensen melden zich één keer aan, zien de toepassingen die ze mogen gebruiken en openen ze vanaf één plek; de beheerders beheren gebruikers, groepen, rechten en meldingen vanuit één scherm. Het is open source onder de MIT-licentie, geschreven met Total.js 5 en PostgreSQL, en de toepassing is de repository totaljs/openplatform (versie 5).
Deze sectie beschrijft OpenPlatform (revisie 5a54a85 van de repository).
Wat het je geeft
- Eén aanmelding voor veel toepassingen. Een toepassing kan een van je eigen Total.js-apps zijn of elke webtoepassing: OpenPlatform opent haar met een ondertekend token en de toepassing vraagt OpenPlatform wie de gebruiker is (zie hoe een app verbinding maakt).
- Gebruikers, groepen en rechten. Een gebruiker hoort bij groepen; een groep bepaalt welke toepassingen de gebruiker ziet en welke rechtenwaarden elke toepassing ontvangt (zie groepen en rechten).
- Meldingen. Toepassingen sturen meldingen naar hun gebruikers via een klein HTTP-endpoint; het portaal toont ze en kan een samenvatting van de ongelezen per e-mail sturen (zie meldingen en de openbare API).
- Sessies die de gebruiker beheert. Elke gebruiker kan zijn eigen sessies zien en verwijderen en zijn wachtwoord wijzigen.
- Een instellingenscherm voor de beheerders (
/setup/): gebruikers, groepen, toepassingen, instellingen, feedback en een dashboard met de bezoekers.
Hoe het project is georganiseerd
OpenPlatform is een Total.js-toepassing met drie plugins en een paar controllers:
| Onderdeel | Wat het doet | Bron |
|---|---|---|
plugin login | de aanmeldpagina, POST /api/login/ en POST /api/reset/ | plugins/login/ |
plugin portal | het portaal voor aangemelde gebruikers (GET /*) | plugins/portal/ |
plugin setup | het beheerscherm en zijn API onder /setup/ | plugins/setup/ |
| account-API | /api/-acties voor de sessie, het account, de apps, de meldingen en de sessies van de gebruiker | controllers/api.js, schemas/account.js |
| app-protocol | GET /verify/, POST /notify/, GET /session/ voor de toepassingen | controllers/verify.js |
| openbare API | GET /users/, uploads van afbeeldingen en de SOCKET /sync/ van meerdere instanties | controllers/api.js, controllers/socket.js |
De rest van het onderdeel: installeren, een toepassing registreren, instellingen en database. De officiële documentatie staat op docs.totaljs.com/openplatform, en de native client die Total.js 5 meelevert voor het Open Platform-protocol staat in het recept OPENCLIENT.