ForgeOpenPlatform
de

OpenPlatform

Eine Anwendung in OpenPlatform registrieren

OpenPlatform · openplatform@5 openplatformappstokenssetup

Eine Anwendung ist ein Datensatz, den der Administrator im Setup-Bildschirm anlegt (/setup/, die Apps-API des Plugins setup). Der Datensatz ist der Vertrag zwischen OpenPlatform und Ihrer Anwendung: wo sie läuft, wie beide beweisen, wer sie sind, und was der Benutzer darin tun darf. Das Schema des Datensatzes ist @Apps in plugins/setup/schemas/apps.js.

FeldPflichtBedeutung
namejader im Portal angezeigte Name
urljadie Adresse, die OpenPlatform öffnet
reqtokenjaein Geheimnis, das Sie wählen und das beide Seiten kennen: Es signiert die Anfrage
restokenjaein zweites, ebenfalls gemeinsames Geheimnis: Die Anwendung signiert damit ihre Antwort
color, iconneinwie die Anwendung im Portal aussieht
metaneineine Adresse (URL), die die Metadaten der Anwendung liefert: Der Setup-Bildschirm kann sie herunterladen (Apps/download), um den Datensatz auszufüllen
sortindexneindie Reihenfolge in der Liste (eine neue Anwendung kommt ans Ende)
notificationsneinob die Anwendung Benachrichtigungen senden darf
isexternalneindie Anwendung wird nicht im Rahmen des Portals geöffnet: Die Antwort an die Anwendung enthält iframe: false
isbookmarkneindie Anwendung ist ein einfacher Link: kein Token-Handshake, nur eine Sitzungskennung in der Query-String
isnewtabneinin einem neuen Browser-Tab statt im Rahmen des Portals öffnen (die Einstellung newtab tut das für jede Anwendung)
isscrollbarneinder Rahmen der Anwendung im Portal behält seine Bildlaufleiste (das Portal setzt scrolling auf yes oder no)
isdisabledneinfür alle abschalten: Der Benutzer erhält "App has been temporary disabled"
permissionsneindie Liste der Berechtigungen der Anwendung: Jede hat eine id, einen name und einen value (siehe Gruppen und Berechtigungen)

Die Tabelle tbl_app hat außerdem eine Spalte allow ("erlaubt nur bestimmte IP-Adressen"): Enthält sie Adressen, kann die Anwendung die Protokoll-Endpunkte von OpenPlatform nur von dort aufrufen. Das obige Setup-Schema führt sie nicht auf, es ist also eine Datenbankspalte, die Sie direkt füllen.

Die beiden Tokens

reqtoken und restoken werden nie an den Browser gesendet. OpenPlatform leitet daraus für jeden Start die Werte ab, die unterwegs sind: das Token in der Adresse der Anwendung und den Header, den die Anwendung zurückschickt. Die Ableitung steht unter Wie sich eine App verbindet. Verwenden Sie lange Zufallswerte und für jede Anwendung ein anderes Paar.

Entfernen und Ändern

Eine Anwendung wird nie aus der Tabelle gelöscht: Beim Entfernen (Apps/remove) werden isremoved und das Datum der Entfernung gesetzt und der Cache der Benutzer, die sie hatten, geleert; isdisabled schaltet sie ab, ohne sie zu entfernen. Ändert sich die Adresse der Plattform (die Einstellung url), leert OpenPlatform die Benachrichtigungslinks aller Benutzer und löscht die offenen Anwendungssitzungen, da beide diese Adresse enthalten (Einstellungen und Datenbank).

Denken Sie an die Regel der README: Eine registrierte Anwendung ist für niemanden sichtbar, bis ihr eine Gruppe zugewiesen wird.