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

1.7 KiB
Raw Permalink Blame History

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