À propos du projet

StudyLife Developers sert de hub central d’enregistrement pour les modules complémentaires au sein de l’écosystème StudyLife. Il est conçu pour prendre en charge diverses applications satellites telles que Tray, Webhooks, HACS et MCP en gérant leurs identifiants d’authentification et leurs autorisations. La plateforme fonctionne selon un flux de travail simplifié : 1. **Activer la connexion** : Les utilisateurs activent la connexion sur la page Setup de leur instance StudyLife appairée. Le système génère et enregistre automatiquement une clé auprès de ce portail, sans copie manuelle nécessaire. 2. **Enregistrer le module complémentaire** : Les développeurs enregistrent de nouveaux modules complémentaires en fournissant un nom, une description, des URI de redirection et des portées d’autorisation spécifiques. 3. **Créer l’intégration** : Les modules complémentaires authentifient les utilisateurs finaux via le flux de connexion générique de StudyLife à l’aide du ClientId attribué. Cela implique une requête POST nécessitant une session, suivie d’un échange d’assertion serveur à serveur pour obtenir une véritable clé API. 4. **Publier** : Une fois testés, les développeurs soumettent un manifeste au dépôt studylife-marketplace via une pull request, permettant à d’autres utilisateurs de découvrir et d’installer le module complémentaire. Ce portail n’héberge ni n’exécute le code du module complémentaire ; il gère uniquement les métadonnées d’enregistrement (nom, portées, URI de redirection) sur l’instance StudyLife appairée. La configuration nécessite de définir des variables d’environnement pour l’URL de base de StudyLife, un secret partagé pour l’authentification interne et un répertoire de données pour le magasin de clés. Les portées sont organisées et maintenues synchronisées entre le dépôt principal, le marketplace et ce portail afin de garantir une gestion cohérente des autorisations.