Registrácia aplikácie v OpenPlatform
Aplikácia je záznam, ktorý správca vytvorí na obrazovke nastavení (/setup/, API aplikácií pluginu setup). Záznam je zmluvou medzi OpenPlatform a vašou aplikáciou: kde žije, ako si navzájom dokazujú, kto sú, a čo v nej smie používateľ robiť. Schéma záznamu je @Apps v plugins/setup/schemas/apps.js.
| Pole | Povinné | Význam |
|---|---|---|
name | áno | názov zobrazený v portáli |
url | áno | adresa, ktorú OpenPlatform otvára |
reqtoken | áno | tajomstvo, ktoré si zvolíte a ktoré poznajú obe strany: podpisuje požiadavku |
restoken | áno | druhé tajomstvo, tiež zdieľané: aplikácia ním podpisuje svoju odpoveď |
color, icon | nie | ako aplikácia vyzerá v portáli |
meta | nie | adresa (URL), ktorá vráti metadáta aplikácie: obrazovka nastavení si ich môže stiahnuť (Apps/download) a vyplniť záznam |
sortindex | nie | poradie v zozname (nová aplikácia ide na koniec) |
notifications | nie | či aplikácia smie posielať oznámenia |
isexternal | nie | aplikácia sa neotvára v ráme portálu: odpoveď aplikácii obsahuje iframe: false |
isbookmark | nie | aplikácia je obyčajný odkaz: bez výmeny tokenov, iba identifikátor relácie v reťazci dotazu |
isnewtab | nie | otvorí ju v novej karte prehliadača namiesto rámu portálu (nastavenie newtab to robí pre každú aplikáciu) |
isscrollbar | nie | rám aplikácie v portáli si ponechá posuvník (portál nastaví scrolling na yes alebo no) |
isdisabled | nie | vypne ju pre všetkých: používateľ dostane "App has been temporary disabled" |
permissions | nie | zoznam oprávnení aplikácie: každé má id, name a value (pozri skupiny a oprávnenia) |
Tabuľka tbl_app má aj stĺpec allow ("povoľuje iba konkrétne adresy IP"): keď obsahuje adresy, aplikácia môže volať endpointy protokolu OpenPlatform iba z nich. Vyššie uvedená schéma nastavení ho neuvádza, takže ide o stĺpec databázy, ktorý vyplníte priamo.
Dva tokeny
reqtoken a restoken sa nikdy neposielajú do prehliadača. OpenPlatform z nich pri každom spustení odvodzuje hodnoty, ktoré putujú: token v adrese aplikácie a hlavičku, ktorú aplikácia posiela späť. Odvodenie je v ako sa aplikácia pripája. Používajte dlhé náhodné hodnoty a pre každú aplikáciu iný pár.
Odstránenie a zmena
Aplikácia sa z tabuľky nikdy nemaže: jej odstránenie (Apps/remove) nastaví isremoved a dátum odstránenia a vymaže vyrovnávaciu pamäť používateľov, ktorí ju mali, a isdisabled ju vypne bez odstránenia. Keď sa zmení adresa platformy (nastavenie url), OpenPlatform vymaže odkazy oznámení každého používateľa a odstráni otvorené relácie aplikácií, pretože obe obsahujú túto adresu (nastavenia a databáza).
Pamätajte na pravidlo z README: registrovaná aplikácia nie je pre nikoho viditeľná, kým jej nepriradíte skupinu.