ForgeOpenPlatform
pt

OpenPlatform

Registar uma aplicação no OpenPlatform

OpenPlatform · openplatform@5 openplatformappstokenssetup

Uma aplicação é um registo que o administrador cria no ecrã de configuração (/setup/, a API de apps do plugin setup). O registo é o contrato entre o OpenPlatform e a sua aplicação: onde vive, como os dois provam quem são e o que o utilizador pode fazer nela. O esquema do registo é @Apps em plugins/setup/schemas/apps.js.

CampoObrigatórioSignificado
namesimo nome mostrado no portal
urlsimo endereço que o OpenPlatform abre
reqtokensimum segredo que escolhe e que ambos os lados conhecem: assina o pedido
restokensimum segundo segredo, também partilhado: a aplicação usa-o para assinar a sua resposta
color, iconnãoo aspeto da aplicação no portal
metanãoum endereço (URL) que devolve os metadados da aplicação: o ecrã de configuração pode descarregá-los (Apps/download) para preencher o registo
sortindexnãoa ordem na lista (uma aplicação nova vai para o fim)
notificationsnãose a aplicação pode enviar notificações
isexternalnãoa aplicação não é aberta dentro da moldura do portal: a resposta à aplicação diz iframe: false
isbookmarknãoa aplicação é uma simples ligação: sem troca de tokens, apenas um identificador de sessão na query string
isnewtabnãoabre-a num novo separador do navegador em vez da moldura do portal (a definição newtab fá-lo para todas as aplicações)
isscrollbarnãoa moldura da aplicação no portal mantém a sua barra de deslocamento (o portal põe scrolling em yes ou no)
isdisablednãodesligá-la para todos: o utilizador recebe "App has been temporary disabled"
permissionsnãoa lista de permissões da aplicação: cada uma tem um id, um name e um value (veja grupos e permissões)

A tabela tbl_app tem também uma coluna allow ("permite apenas endereços IP específicos"): quando contém endereços, a aplicação só pode chamar os endpoints do protocolo do OpenPlatform a partir deles. O esquema de configuração acima não a lista, por isso é uma coluna da base de dados que preenche diretamente.

Os dois tokens

reqtoken e restoken nunca são enviados ao navegador. O OpenPlatform deriva deles, para cada lançamento, os valores que viajam: o token no endereço da aplicação e o cabeçalho que a aplicação devolve. A derivação está em como uma app se liga. Use valores aleatórios longos e um par diferente para cada aplicação.

Remover e alterar

Uma aplicação nunca é apagada da tabela: removê-la (Apps/remove) define isremoved e a data da remoção e limpa a cache dos utilizadores que a tinham, e isdisabled desliga-a sem a remover. Quando o endereço da plataforma (a definição url) muda, o OpenPlatform limpa as ligações de notificação de todos os utilizadores e apaga as sessões de aplicação abertas, porque ambos contêm esse endereço (definições e base de dados).

Lembre-se da regra do README: uma aplicação registada não é visível para ninguém até lhe ser atribuído um grupo.