Czym jest OpenPlatform: jeden portal dla wszystkich Twoich aplikacji webowych
OpenPlatform to gotowy do uruchomienia portal dla Twoich aplikacji webowych. Twoi ludzie logują się raz, widzą aplikacje, z których mogą korzystać, i otwierają je z jednego miejsca; administratorzy zarządzają użytkownikami, grupami, uprawnieniami i powiadomieniami z jednego ekranu. Jest open source na licencji MIT, napisany w Total.js 5 i PostgreSQL, a aplikacją jest repozytorium totaljs/openplatform (wersja 5).
Ta sekcja opisuje OpenPlatform (rewizja 5a54a85 repozytorium).
Co daje
- Jedno logowanie do wielu aplikacji. Aplikacją może być jedna z Twoich aplikacji Total.js lub dowolna aplikacja webowa: OpenPlatform otwiera ją z podpisanym tokenem, a aplikacja pyta OpenPlatform, kim jest użytkownik (zobacz jak łączy się aplikacja).
- Użytkownicy, grupy i uprawnienia. Użytkownik należy do grup; grupa decyduje, które aplikacje widzi użytkownik i jakie wartości uprawnień otrzymuje każda aplikacja (zobacz grupy i uprawnienia).
- Powiadomienia. Aplikacje wysyłają powiadomienia do swoich użytkowników przez mały endpoint HTTP; portal je wyświetla i może wysłać e-mailem podsumowanie nieprzeczytanych (zobacz powiadomienia i publiczne API).
- Sesje kontrolowane przez użytkownika. Każdy użytkownik może zobaczyć i usunąć własne sesje oraz zmienić hasło.
- Ekran konfiguracji dla administratorów (
/setup/): użytkownicy, grupy, aplikacje, ustawienia, opinie i pulpit z odwiedzającymi.
Jak zorganizowany jest projekt
OpenPlatform to aplikacja Total.js z trzema wtyczkami i kilkoma kontrolerami:
| Część | Co robi | Źródło |
|---|---|---|
wtyczka login | strona logowania, POST /api/login/ i POST /api/reset/ | plugins/login/ |
wtyczka portal | portal dla zalogowanych użytkowników (GET /*) | plugins/portal/ |
wtyczka setup | ekran administracji i jego API pod /setup/ | plugins/setup/ |
| API konta | akcje /api/ dla sesji, konta, aplikacji, powiadomień i sesji użytkownika | controllers/api.js, schemas/account.js |
| protokół aplikacji | GET /verify/, POST /notify/, GET /session/ dla aplikacji | controllers/verify.js |
| publiczne API | GET /users/, wysyłanie obrazów i SOCKET /sync/ wielu instancji | controllers/api.js, controllers/socket.js |
Reszta sekcji: instalacja, rejestracja aplikacji, ustawienia i baza danych. Oficjalna dokumentacja jest pod adresem docs.totaljs.com/openplatform, a natywny klient, który Total.js 5 zawiera dla protokołu Open Platform, jest w przepisie OPENCLIENT.