O que é o OpenPlatform: um portal para todas as suas aplicações web
O OpenPlatform é um portal pronto a usar para as suas aplicações web. As suas pessoas iniciam sessão uma vez, veem as aplicações que podem usar e abrem-nas a partir de um único sítio; os administradores gerem utilizadores, grupos, permissões e notificações a partir de um único ecrã. É de código aberto com licença MIT, escrito com Total.js 5 e PostgreSQL, e a aplicação é o repositório totaljs/openplatform (versão 5).
Esta secção descreve o OpenPlatform (revisão 5a54a85 do repositório).
O que lhe dá
- Um único início de sessão para muitas aplicações. Uma aplicação pode ser uma das suas apps Total.js ou qualquer aplicação web: o OpenPlatform abre-a com um token assinado e a aplicação pergunta ao OpenPlatform quem é o utilizador (veja como uma app se liga).
- Utilizadores, grupos e permissões. Um utilizador pertence a grupos; um grupo decide que aplicações o utilizador vê e que valores de permissão cada aplicação recebe (veja grupos e permissões).
- Notificações. As aplicações enviam notificações aos seus utilizadores através de um pequeno endpoint HTTP; o portal mostra-as e pode enviar por e-mail um resumo das não lidas (veja notificações e API pública).
- Sessões que o utilizador controla. Cada utilizador pode ver e remover as suas próprias sessões e mudar a sua palavra-passe.
- Um ecrã de configuração para os administradores (
/setup/): utilizadores, grupos, aplicações, definições, comentários e um painel com os visitantes.
Como o projeto está organizado
O OpenPlatform é uma aplicação Total.js com três plugins e alguns controladores:
| Parte | O que faz | Código |
|---|---|---|
plugin login | a página de acesso, POST /api/login/ e POST /api/reset/ | plugins/login/ |
plugin portal | o portal para utilizadores com sessão iniciada (GET /*) | plugins/portal/ |
plugin setup | o ecrã de administração e a sua API em /setup/ | plugins/setup/ |
| API da conta | ações de /api/ para a sessão, a conta, as apps, as notificações e as sessões do utilizador | controllers/api.js, schemas/account.js |
| protocolo das apps | GET /verify/, POST /notify/, GET /session/ para as aplicações | controllers/verify.js |
| API pública | GET /users/, carregamentos de imagens e o SOCKET /sync/ de várias instâncias | controllers/api.js, controllers/socket.js |
O resto da secção: instalá-lo, registar uma aplicação, definições e base de dados. A documentação oficial está em docs.totaljs.com/openplatform, e o cliente nativo que o Total.js 5 inclui para o protocolo Open Platform está na receita OPENCLIENT.