Registrace aplikace v OpenPlatform
Aplikace je záznam, který správce vytvoří na obrazovce nastavení (/setup/, API aplikací pluginu setup). Záznam je smlouvou mezi OpenPlatform a vaší aplikací: kde žije, jak si navzájem dokazují, kdo jsou, a co v ní smí uživatel dělat. Schéma záznamu je @Apps v plugins/setup/schemas/apps.js.
| Pole | Povinné | Význam |
|---|---|---|
name | ano | název zobrazený v portálu |
url | ano | adresa, kterou OpenPlatform otevírá |
reqtoken | ano | tajemství, které zvolíte a které znají obě strany: podepisuje požadavek |
restoken | ano | druhé tajemství, také sdílené: aplikace jím podepisuje svou odpověď |
color, icon | ne | jak aplikace vypadá v portálu |
meta | ne | adresa (URL), která vrací metadata aplikace: obrazovka nastavení je může stáhnout (Apps/download) a vyplnit záznam |
sortindex | ne | pořadí v seznamu (nová aplikace jde na konec) |
notifications | ne | zda aplikace smí posílat oznámení |
isexternal | ne | aplikace se neotevírá v rámu portálu: odpověď aplikaci obsahuje iframe: false |
isbookmark | ne | aplikace je obyčejný odkaz: bez výměny tokenů, pouze identifikátor relace v řetězci dotazu |
isnewtab | ne | otevře ji v nové kartě prohlížeče místo rámu portálu (nastavení newtab to dělá pro každou aplikaci) |
isscrollbar | ne | rám aplikace v portálu si ponechá posuvník (portál nastaví scrolling na yes nebo no) |
isdisabled | ne | vypne ji pro všechny: uživatel dostane "App has been temporary disabled" |
permissions | ne | seznam oprávnění aplikace: každé má id, name a value (viz skupiny a oprávnění) |
Tabulka tbl_app má také sloupec allow ("povoluje pouze konkrétní adresy IP"): když obsahuje adresy, aplikace může volat endpointy protokolu OpenPlatform pouze z nich. Výše uvedené schéma nastavení jej neuvádí, takže jde o sloupec databáze, který vyplníte přímo.
Dva tokeny
reqtoken a restoken se nikdy neposílají do prohlížeče. OpenPlatform z nich při každém spuštění odvozuje hodnoty, které putují: token v adrese aplikace a hlavičku, kterou aplikace posílá zpět. Odvození je v jak se aplikace připojuje. Používejte dlouhé náhodné hodnoty a pro každou aplikaci jiný pár.
Odstranění a změna
Aplikace se z tabulky nikdy nemaže: její odstranění (Apps/remove) nastaví isremoved a datum odstranění a vymaže mezipaměť uživatelů, kteří ji měli, a isdisabled ji vypne bez odstranění. Když se změní adresa platformy (nastavení url), OpenPlatform vymaže odkazy oznámení každého uživatele a odstraní otevřené relace aplikací, protože obojí obsahuje tuto adresu (nastavení a databáze).
Pamatujte na pravidlo z README: registrovaná aplikace není pro nikoho viditelná, dokud jí nepřiřadíte skupinu.