ForgeOpenPlatform
ro

OpenPlatform

Înregistrarea unei aplicații în OpenPlatform

OpenPlatform · openplatform@5 openplatformappstokenssetup

O aplicație este o înregistrare pe care administratorul o creează pe ecranul de configurare (/setup/, API-ul de aplicații al pluginului setup). Înregistrarea este contractul dintre OpenPlatform și aplicația ta: unde trăiește, cum își dovedesc cele două cine sunt și ce poate face utilizatorul în ea. Schema înregistrării este @Apps în plugins/setup/schemas/apps.js.

CâmpObligatoriuSemnificație
namedanumele afișat în portal
urldaadresa pe care o deschide OpenPlatform
reqtokendaun secret pe care îl alegi tu și pe care îl cunosc ambele părți: semnează cererea
restokendaun al doilea secret, tot partajat: aplicația îl folosește pentru a-și semna răspunsul
color, iconnucum arată aplicația în portal
metanuo adresă (URL) care returnează metadatele aplicației: ecranul de configurare le poate descărca (Apps/download) pentru a completa înregistrarea
sortindexnuordinea în listă (o aplicație nouă merge la sfârșit)
notificationsnudacă aplicația poate trimite notificări
isexternalnuaplicația nu se deschide în cadrul portalului: răspunsul către aplicație spune iframe: false
isbookmarknuaplicația este un simplu link: fără schimb de token-uri, doar un identificator de sesiune în query string
isnewtabnudeschide-o într-o filă nouă a browserului în loc de cadrul portalului (setarea newtab face asta pentru toate aplicațiile)
isscrollbarnucadrul aplicației din portal își păstrează bara de derulare (portalul setează scrolling la yes sau no)
isdisablednuoprește-o pentru toată lumea: utilizatorul primește "App has been temporary disabled"
permissionsnulista permisiunilor aplicației: fiecare are un id, un name și un value (vezi grupuri și permisiuni)

Tabelul tbl_app are și o coloană allow ("permite doar anumite adrese IP"): când conține adrese, aplicația poate apela endpoint-urile de protocol ale OpenPlatform doar de la ele. Schema de configurare de mai sus nu o listează, deci este o coloană a bazei de date pe care o completezi direct.

Cele două token-uri

reqtoken și restoken nu sunt trimise niciodată browserului. OpenPlatform derivă din ele, pentru fiecare lansare, valorile care călătoresc: token-ul din adresa aplicației și antetul pe care îl trimite înapoi aplicația. Derivarea este în cum se conectează o aplicație. Folosește valori aleatorii lungi și o pereche diferită pentru fiecare aplicație.

Eliminare și modificare

O aplicație nu este niciodată ștearsă din tabel: eliminarea ei (Apps/remove) setează isremoved și data eliminării și golește cache-ul utilizatorilor care o aveau, iar isdisabled o oprește fără a o elimina. Când se schimbă adresa platformei (setarea url), OpenPlatform golește linkurile de notificare ale fiecărui utilizator și șterge sesiunile de aplicație deschise, deoarece ambele conțin acea adresă (setări și baza de date).

Amintește-ți regula din README: o aplicație înregistrată nu este vizibilă pentru nimeni până când nu i se atribuie un grup.