Регистриране на приложение в OpenPlatform
Приложението е запис, който администраторът създава в екрана за настройка (/setup/, API за приложения на добавката setup). Записът е договорът между OpenPlatform и вашето приложение: къде живее, как двете доказват кои са и какво може да прави потребителят в него. Схемата на записа е @Apps в plugins/setup/schemas/apps.js.
| Поле | Задължително | Значение |
|---|---|---|
name | да | името, показвано в портала |
url | да | адресът, който OpenPlatform отваря |
reqtoken | да | тайна, която избирате вие и която познават и двете страни: подписва заявката |
restoken | да | втора тайна, също споделена: приложението я използва, за да подпише отговора си |
color, icon | не | как изглежда приложението в портала |
meta | не | адрес (URL), който връща метаданните на приложението: екранът за настройка може да ги изтегли (Apps/download), за да попълни записа |
sortindex | не | редът в списъка (ново приложение отива в края) |
notifications | не | дали приложението може да изпраща известия |
isexternal | не | приложението не се отваря в рамката на портала: отговорът към приложението съдържа iframe: false |
isbookmark | не | приложението е обикновена връзка: без обмен на токени, само идентификатор на сесията в query string |
isnewtab | не | отваря се в нов раздел на браузъра вместо в рамката на портала (настройката newtab го прави за всяко приложение) |
isscrollbar | не | рамката на приложението в портала запазва лентата си за превъртане (порталът задава scrolling на yes или no) |
isdisabled | не | изключва го за всички: потребителят получава "App has been temporary disabled" |
permissions | не | списъкът с права на приложението: всяко има id, name и value (вижте групи и права) |
Таблицата tbl_app има и колона allow ("позволява само конкретни IP адреси"): когато съдържа адреси, приложението може да извиква крайните точки на протокола на OpenPlatform само от тях. Схемата за настройка по-горе не я изброява, така че е колона на базата данни, която попълвате директно.
Двата токена
reqtoken и restoken никога не се изпращат към браузъра. OpenPlatform извежда от тях за всяко стартиране стойностите, които пътуват: токена в адреса на приложението и заглавката, която приложението връща. Извеждането е в как се свързва едно приложение. Използвайте дълги случайни стойности и различна двойка за всяко приложение.
Премахване и промяна
Приложението никога не се изтрива от таблицата: премахването му (Apps/remove) задава isremoved и датата на премахване и изчиства кеша на потребителите, които са го имали, а isdisabled го изключва без да го премахва. Когато адресът на платформата (настройката url) се промени, OpenPlatform изчиства връзките на известията на всеки потребител и изтрива отворените сесии на приложения, защото и двете съдържат този адрес (настройки и база данни).
Помнете правилото от README: регистрираното приложение не е видимо за никого, докато не му бъде присвоена група.