ForgeOpenPlatform
it

OpenPlatform

Registrare un’applicazione in OpenPlatform

OpenPlatform · openplatform@5 openplatformappstokenssetup

Un’applicazione è un record che l’amministratore crea nella schermata di configurazione (/setup/, l’API delle app del plugin setup). Il record è il contratto tra OpenPlatform e la tua applicazione: dove vive, come i due dimostrano chi sono e cosa può fare l’utente al suo interno. Lo schema del record è @Apps in plugins/setup/schemas/apps.js.

CampoObbligatorioSignificato
namesìil nome mostrato nel portale
urlsìl’indirizzo che OpenPlatform apre
reqtokensìun segreto che scegli tu e che conoscono entrambe le parti: firma la richiesta
restokensìun secondo segreto, anch’esso condiviso: l’applicazione lo usa per firmare la sua risposta
color, iconnol’aspetto dell’applicazione nel portale
metanoun indirizzo (URL) che restituisce i metadati dell’applicazione: la schermata di configurazione può scaricarli (Apps/download) per compilare il record
sortindexnol’ordine nell’elenco (una nuova applicazione va in fondo)
notificationsnose l’applicazione può inviare notifiche
isexternalnol’applicazione non viene aperta nel riquadro del portale: la risposta all’applicazione contiene iframe: false
isbookmarknol’applicazione è un semplice link: nessuno scambio di token, solo un identificatore di sessione nella query string
isnewtabnoaprila in una nuova scheda del browser invece che nel riquadro del portale (l’impostazione newtab lo fa per ogni applicazione)
isscrollbarnoil riquadro dell’applicazione nel portale mantiene la barra di scorrimento (il portale imposta scrolling su yes o no)
isdisablednodisattivala per tutti: l’utente riceve "App has been temporary disabled"
permissionsnol’elenco dei permessi dell’applicazione: ognuno ha un id, un name e un value (vedi gruppi e permessi)

La tabella tbl_app ha anche una colonna allow ("consente solo indirizzi IP specifici"): quando contiene indirizzi, l’applicazione può chiamare gli endpoint del protocollo di OpenPlatform solo da essi. Lo schema di configurazione qui sopra non la elenca, quindi è una colonna del database che compili direttamente.

I due token

reqtoken e restoken non vengono mai inviati al browser. OpenPlatform ne deriva, per ogni avvio, i valori che viaggiano: il token nell’indirizzo dell’applicazione e l’intestazione che l’applicazione rimanda. La derivazione è in come si connette un’app. Usa valori casuali lunghi e una coppia diversa per ogni applicazione.

Rimuovere e modificare

Un’applicazione non viene mai eliminata dalla tabella: rimuoverla (Apps/remove) imposta isremoved e la data della rimozione, svuota la cache degli utenti che la avevano, e isdisabled la spegne senza rimuoverla. Quando cambia l’indirizzo della piattaforma (l’impostazione url), OpenPlatform svuota i link delle notifiche di ogni utente ed elimina le sessioni di applicazione aperte, perché entrambi contengono quell’indirizzo (impostazioni e database).

Ricorda la regola del README: un’applicazione registrata non è visibile a nessuno finché non le viene assegnato un gruppo.