authentification version0
This commit is contained in:
commit
979f12bc3d
22 files changed
+1639
No files matched your search
@@ -0,0 +1,39 @@
|
||||
## 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
|
||||
Reference in new issue
Block a user