Sobre o projeto

O StudyLife Developers funciona como o hub central de registo de add-ons dentro do ecossistema StudyLife. Foi concebido para suportar várias aplicações satélite, como Tray, Webhooks, HACS e MCP, gerindo as suas credenciais de autenticação e permissões. A plataforma opera através de um fluxo de trabalho simplificado: 1. **Ativar Ligação**: Os utilizadores ativam a ligação na página Setup da sua instância StudyLife emparelhada. O sistema gera e regista automaticamente uma chave neste portal, sem necessidade de cópia manual. 2. **Registar Add-on**: Os programadores registam novos add-ons fornecendo um nome, descrição, URIs de redirecionamento e escopos de permissão específicos. 3. **Criar Integração**: Os add-ons autenticam os utilizadores finais através do fluxo de ligação genérico do StudyLife, usando o ClientId atribuído. Isto envolve um pedido POST que requer sessão, seguido de uma troca de asserção servidor-a-servidor para obter uma chave de API real. 4. **Publicar**: Após os testes, os programadores submetem um manifesto ao repositório studylife-marketplace através de um pull request, permitindo que outros utilizadores descubram e instalem o add-on. Este portal não aloja nem executa o código do add-on; gere apenas os metadados de registo (nome, escopos, URIs de redirecionamento) na instância StudyLife emparelhada. A configuração requer a definição de variáveis de ambiente para o URL base do StudyLife, um segredo partilhado para autenticação interna e um diretório de dados para o armazenamento de chaves. Os escopos são curados e mantidos em sincronia entre o repositório principal, o marketplace e este portal, para garantir um tratamento consistente das permissões.