Contexte
Ce projet a été réalisé dans le cadre du devoir maison Golang M1-DO-B. L'objectif était de concevoir et implémenter une Interface en Ligne de Commande (CLI) en Go interagissant avec une solution d'authentification moderne pour gérer les utilisateurs, permissions et authentification de manière sécurisée.
Face au besoin croissant d'outils DevOps permettant la gestion centralisée des identités et des accès, ce projet répond à la problématique de l'automatisation des processus d'authentification dans les environnements cloud-native.
Objectifs
- Création d'utilisateurs et d'administrateurs avec gestion des rôles
- Système d'authentification sécurisé avec tokens JWT
- Gestion granulaire des permissions (CRUD, consultation, recherche)
- Interface CLI intuitive avec framework Cobra
- Architecture scalable avec containerisation Docker
- Intégration API REST avec PocketBase comme backend
Défis Techniques
- Gestion sécurisée des tokens : Implémentation d'un système de stockage et rotation des JWT
- Architecture de permissions : Conception d'un modèle de rôles flexible (super_user, user)
- Validation et sécurité : Gestion des erreurs et validation des entrées utilisateur
- Interface utilisateur CLI : Création d'une expérience utilisateur fluide avec Cobra
- Containerisation complète : Déploiement multi-services avec Docker Compose