Files
2026-10-16 16:04:38 +02:00

39 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Description
Cette première partie du projet consiste à développer une API REST avec FastAPI permettant de gérer l’authentification et les comptes utilisateurs avec plusieurs niveaux de permissions.
L’API utilise PostgreSQL pour stocker les utilisateurs, SQLAlchemy pour communiquer avec la base de données et des JSON Web Tokens (JWT) pour sécuriser l’accès aux routes protégées.
Les fonctionnalités ont été testées avec Postman afin de vérifier le bon fonctionnement des routes, de l’authentification et du contrôle des permissions.
## Fonctionnalités:
### Authentification
- Connexion d'un utilisateur avec @ et mot de passe
- Vérification du mdp à partir de son empreinte hachée
- Génération de token JWT
- Expiration configurable de token
- Récupération des infos de l'utilisateur connecté
### Gestion des utilisateurs:
- Création initiale d'un compte "super_admin" via un scrpit CLI
- Tous les comptes utilisateurs sont créés par super_admin (pour le moment)
- Consultation de liste utilisateurs
- Modification du rôle
- Activation/désactivation d'un compte
- Vérification e-mail/ permissions
Rôle: user, candidat, student, prof, entreprise, alumni
Dans la version actuelle, les routes de gestion des comptes sont réservées qau super_admin. Les permissions spécifiques des autres rôles seront développés au fur et à mesure.
Le rôle super_admin est créé séparément à l’aide d’un script CLI et ne peut pas être attribué par la route standard de création d’utilisateurs.
## Technologies utilisées:
- Python
- FastAPI
- PostgreSQL
- SQLAlchemy
- uv
- Postman
## Lancement de l'app
uv run uvicorn src.auth_project.main:app --reload