ForgeOpenPlatform
fr

OpenPlatform

Enregistrer une application dans OpenPlatform

OpenPlatform · openplatform@5 openplatformappstokenssetup

Une application est un enregistrement que l’administrateur crée dans l’écran de configuration (/setup/, l’API des apps du plugin setup). L’enregistrement est le contrat entre OpenPlatform et votre application : où elle vit, comment les deux prouvent qui ils sont et ce que l’utilisateur peut y faire. Le schéma de l’enregistrement est @Apps dans plugins/setup/schemas/apps.js.

ChampObligatoireSignification
nameouile nom affiché dans le portail
urlouil’adresse qu’ouvre OpenPlatform
reqtokenouiun secret que vous choisissez et que les deux côtés connaissent : il signe la requête
restokenouiun second secret, lui aussi partagé : l’application l’utilise pour signer sa réponse
color, iconnonl’aspect de l’application dans le portail
metanonune adresse (URL) qui renvoie les métadonnées de l’application : l’écran de configuration peut la télécharger (Apps/download) pour remplir l’enregistrement
sortindexnonl’ordre dans la liste (une nouvelle application va à la fin)
notificationsnonsi l’application peut envoyer des notifications
isexternalnonl’application n’est pas ouverte dans le cadre du portail : la réponse à l’application indique iframe: false
isbookmarknonl’application est un simple lien : pas d’échange de jetons, seulement un identifiant de session dans la query string
isnewtabnonl’ouvrir dans un nouvel onglet du navigateur au lieu du cadre du portail (le réglage newtab le fait pour toutes les applications)
isscrollbarnonle cadre de l’application dans le portail garde sa barre de défilement (le portail met scrolling à yes ou no)
isdisablednonla désactiver pour tout le monde : l’utilisateur reçoit "App has been temporary disabled"
permissionsnonla liste des permissions de l’application : chacune a un id, un name et un value (voir groupes et permissions)

La table tbl_app a aussi une colonne allow ("autorise seulement des adresses IP précises") : quand elle contient des adresses, l’application ne peut appeler les points d’accès du protocole d’OpenPlatform que depuis celles-ci. Le schéma de configuration ci-dessus ne la liste pas ; c’est donc une colonne de la base de données que vous remplissez directement.

Les deux jetons

reqtoken et restoken ne sont jamais envoyés au navigateur. OpenPlatform en dérive, pour chaque lancement, les valeurs qui voyagent : le jeton dans l’adresse de l’application et l’en-tête que l’application renvoie. La dérivation est décrite dans comment une app se connecte. Utilisez de longues valeurs aléatoires et une paire différente pour chaque application.

Supprimer et modifier

Une application n’est jamais supprimée de la table : la retirer (Apps/remove) renseigne isremoved et la date du retrait, vide le cache des utilisateurs qui l’avaient, et isdisabled la désactive sans la retirer. Quand l’adresse de la plateforme (le réglage url) change, OpenPlatform vide les liens de notification de chaque utilisateur et supprime les sessions d’application ouvertes, car les deux contiennent cette adresse (réglages et base de données).

Rappelez-vous la règle du README : une application enregistrée n’est visible de personne tant qu’un groupe ne lui est pas affecté.