O Discourse Events expõe uma série de endpoints REST sob /discourse-post-event/..., mas ao criar uma chave de API de administrador com escopo Granular, não parece haver um escopo específico para Eventos.
Já existe um escopo de chave de API de usuário discourse-calendar:events_calendar para feeds de assinatura de calendário, como o endpoint ICS, portanto esta solicitação é especificamente sobre chaves de API REST granulares de administrador/servidor-para-servidor, e não sobre chaves de assinatura de calendário.
Caso de uso
Uma integração externa pode precisar apenas de consultar o Discourse Events — por exemplo, para verificar se um evento existe ou recuperar informações sobre o evento.
Atualmente, não parece haver uma maneira de emitir uma chave de API de administrador restrita especificamente aos endpoints REST do Discourse Events. Isso significa que uma integração pode precisar receber acesso a um escopo de API mais amplo do que o que realmente requer.
Seria útil que o discourse-events registrasse escopos de chave de API granulares para suas rotas REST, permitindo que as integrações sigam o princípio do menor privilégio.
Idealmente, esses escopos poderiam distinguir entre operações, por exemplo:
- leitura/consulta de eventos
- gerenciamento de eventos
- gerenciamento de convidados de eventos
Mesmo um escopo inicial somente leitura para Eventos seria útil.
Um relatório relacionado recente também observou que, ao tentar o escopo de chave de API Granular, não havia nenhuma restrição aparente disponível para os endpoints de Eventos.
As rotas existentes de Eventos mantêm o namespace de URL /discourse-post-event/... por compatibilidade, apesar de o próprio plugin agora se chamar discourse-events, então não acho que o escopo necessariamente precise usar o nome antigo do plugin.
No momento, não tenho tempo suficiente para montar um PR para isso, mas gostaria de levantá-lo como uma solicitação de funcionalidade, caso também seja útil para outras integrações ou seja adequado como uma alteração pr-welcome.