ForgeOpenPlatform
nl

OpenPlatform

Een toepassing registreren in OpenPlatform

OpenPlatform · openplatform@5 openplatformappstokenssetup

Een toepassing is een record dat de beheerder aanmaakt in het setup-scherm (/setup/, de apps-API van de plugin setup). Het record is het contract tussen OpenPlatform en je toepassing: waar ze woont, hoe de twee bewijzen wie ze zijn en wat de gebruiker erin mag doen. Het schema van het record is @Apps in plugins/setup/schemas/apps.js.

VeldVerplichtBetekenis
namejade naam die in het portaal wordt getoond
urljahet adres dat OpenPlatform opent
reqtokenjaeen geheim dat jij kiest en dat beide kanten kennen: het ondertekent het verzoek
restokenjaeen tweede geheim, ook gedeeld: de toepassing gebruikt het om haar antwoord te ondertekenen
color, iconneehoe de toepassing er in het portaal uitziet
metaneeeen adres (URL) dat de metagegevens van de toepassing teruggeeft: het setup-scherm kan ze downloaden (Apps/download) om het record in te vullen
sortindexneede volgorde in de lijst (een nieuwe toepassing komt achteraan)
notificationsneeof de toepassing meldingen mag sturen
isexternalneede toepassing wordt niet geopend binnen het frame van het portaal: het antwoord aan de toepassing bevat iframe: false
isbookmarkneede toepassing is een gewone link: geen tokenhandshake, alleen een sessie-id in de query string
isnewtabneeopen ze in een nieuw browsertabblad in plaats van in het frame van het portaal (de instelling newtab doet dat voor elke toepassing)
isscrollbarneehet frame van de toepassing in het portaal behoudt zijn schuifbalk (het portaal zet scrolling op yes of no)
isdisabledneeschakel haar uit voor iedereen: de gebruiker krijgt "App has been temporary disabled"
permissionsneede lijst met rechten van de toepassing: elk heeft een id, een name en een value (zie groepen en rechten)

De tabel tbl_app heeft ook een kolom allow ("staat alleen specifieke IP-adressen toe"): als ze adressen bevat, kan de toepassing de protocol-endpoints van OpenPlatform alleen vanaf die adressen aanroepen. Het bovenstaande setup-schema noemt haar niet, dus het is een databasekolom die je rechtstreeks invult.

De twee tokens

reqtoken en restoken worden nooit naar de browser gestuurd. OpenPlatform leidt daar bij elke start de waarden uit af die onderweg zijn: het token in het adres van de toepassing en de header die de toepassing terugstuurt. De afleiding staat in hoe een app verbinding maakt. Gebruik lange willekeurige waarden en voor elke toepassing een ander paar.

Verwijderen en wijzigen

Een toepassing wordt nooit uit de tabel gewist: verwijderen (Apps/remove) zet isremoved en de datum van verwijdering, wist de cache van de gebruikers die haar hadden, en isdisabled schakelt haar uit zonder haar te verwijderen. Wanneer het adres van het platform (de instelling url) verandert, wist OpenPlatform de meldingslinks van elke gebruiker en verwijdert de open toepassingssessies, omdat beide dat adres bevatten (instellingen en database).

Onthoud de regel uit de README: een geregistreerde toepassing is voor niemand zichtbaar totdat er een groep aan is toegewezen.