ForgeOpenPlatform
cs

OpenPlatform

Registrace aplikace v OpenPlatform

OpenPlatform · openplatform@5 openplatformappstokenssetup

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.

PolePovinnéVýznam
nameanonázev zobrazený v portálu
urlanoadresa, kterou OpenPlatform otevírá
reqtokenanotajemství, které zvolíte a které znají obě strany: podepisuje požadavek
restokenanodruhé tajemství, také sdílené: aplikace jím podepisuje svou odpověď
color, iconnejak aplikace vypadá v portálu
metaneadresa (URL), která vrací metadata aplikace: obrazovka nastavení je může stáhnout (Apps/download) a vyplnit záznam
sortindexnepořadí v seznamu (nová aplikace jde na konec)
notificationsnezda aplikace smí posílat oznámení
isexternalneaplikace se neotevírá v rámu portálu: odpověď aplikaci obsahuje iframe: false
isbookmarkneaplikace je obyčejný odkaz: bez výměny tokenů, pouze identifikátor relace v řetězci dotazu
isnewtabneotevře ji v nové kartě prohlížeče místo rámu portálu (nastavení newtab to dělá pro každou aplikaci)
isscrollbarnerám aplikace v portálu si ponechá posuvník (portál nastaví scrolling na yes nebo no)
isdisablednevypne ji pro všechny: uživatel dostane "App has been temporary disabled"
permissionsneseznam 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.