ForgeOpenPlatform
en

OpenPlatform

What OpenPlatform is: one portal for all your web applications

OpenPlatform · openplatform@5 openplatformportalappsoverview

OpenPlatform is a ready-to-run portal for your web applications. Your people sign in once, see the applications they are allowed to use and open them from one place; the administrators manage users, groups, permissions and notifications from one screen. It is open source under the MIT licence, written with Total.js 5 and PostgreSQL, and the application is the repository totaljs/openplatform (version 5).

This section describes OpenPlatform (revision 5a54a85 of the repository).

What it gives you

  • One sign-in for many applications. An application can be one of your own Total.js apps or any web application: OpenPlatform opens it with a signed token and the application asks OpenPlatform who the user is (see how an app connects).
  • Users, groups and permissions. A user belongs to groups; a group decides which applications the user sees and which permission values each application receives (see groups and permissions).
  • Notifications. Applications send notifications to their users through a small HTTP endpoint; the portal shows them and can email a digest of the unread ones (see notifications and the public API).
  • Sessions the user controls. Each user can see and remove their own sessions and change their password.
  • A setup screen for the administrators (/setup/): users, groups, applications, settings, feedback and a dashboard with the visitors.

How the project is organized

OpenPlatform is a Total.js application with three plugins and a few controllers:

PartWhat it doesSource
login pluginthe sign-in page, POST /api/login/ and POST /api/reset/plugins/login/
portal pluginthe portal for signed-in users (GET /*)plugins/portal/
setup pluginthe administration screen and its API under /setup/plugins/setup/
account API/api/ actions for the session, the account, the apps, the notifications and the sessions of the usercontrollers/api.js, schemas/account.js
app protocolGET /verify/, POST /notify/, GET /session/ for the applicationscontrollers/verify.js
public APIGET /users/, uploads of images and the SOCKET /sync/ of several instancescontrollers/api.js, controllers/socket.js

The rest of the section: installing it, registering an application, the settings and the database. The official documentation is at docs.totaljs.com/openplatform, and the native client that Total.js 5 includes for the Open Platform protocol is in the recipe OPENCLIENT.