- ❌ Problème :
HasApiTokensutilisé deux fois - ✅ Corrigé : Suppression du doublon
- ❌ Problème : Import manquant du
AuthController - ✅ Corrigé : Ajout de l'import dans
routes/api.php
- ❌ Problème : Seul
localhost:3000autorisé - ✅ Corrigé : Ajout de tous les ports frontend (3000, 5173, 127.0.0.1)
- ❌ Problème : Guard Sanctum manquant
- ✅ Corrigé : Ajout du guard
sanctumdansconfig/auth.php
# Exécuter le script de configuration complète
setup-complete.batcd citil-backend
# 1. Installer les dépendances
composer install
# 2. Générer la clé d'application
php artisan key:generate
# 3. Créer la base de données SQLite
type nul > database/database.sqlite
# 4. Exécuter les migrations
php artisan migrate --force
# 5. Créer l'utilisateur admin
php artisan db:seed --class=AdminUserSeeder
# 6. Démarrer le serveur
php artisan servecd citil-frontend
# 1. Installer les dépendances
npm install
# 2. Démarrer le serveur de développement
npm run dev- Email :
admin@citil.tg - Mot de passe :
password - Rôle :
admin
- Backend API : http://localhost:8000
- Frontend : http://localhost:3000
- API Documentation : http://localhost:8000/api
- CSRF Protection : Activé
- Stateful Domains : localhost:3000, 127.0.0.1:3000
- Token Expiration : Illimitée (null)
- Credentials : Activé
'allowed_origins' => [
'http://localhost:3000',
'http://127.0.0.1:3000'
],
'supports_credentials' => truePOST /api/login- ConnexionPOST /api/logout- Déconnexion (protégé)GET /api/user- Profil utilisateur (protégé)
GET /api/products- Liste des produitsGET /api/trainings- Liste des formationsGET /api/blog-posts- Articles de blogPOST /api/internship-applications- Candidatures
GET/POST/PUT/DELETE /api/admin/products- Gestion produitsGET/POST/PUT/DELETE /api/admin/trainings- Gestion formationsGET/POST/PUT/DELETE /api/admin/blog-posts- Gestion blogGET /api/admin/internship-applications- Liste candidatures
- Sanctum : Pour l'API token authentication
- CORS : Configuration pour les domaines autorisés
- CSRF : Protection contre les attaques CSRF
- SQLite : Base de données locale
- Migrations : Structure complète créée
- Seeders : Utilisateur admin créé automatiquement
-
Erreur CORS
- Vérifier que le frontend utilise le bon port
- Vérifier la configuration CORS dans
config/cors.php
-
Erreur 419 (CSRF)
- Vérifier que Sanctum est bien configuré
- Vérifier les domaines stateful dans
config/sanctum.php
-
Erreur 401 (Non authentifié)
- Vérifier que le token est bien stocké dans localStorage
- Vérifier que l'API service utilise le bon token
- Backend :
storage/logs/laravel.log - Frontend : Console du navigateur
Pour vérifier que tout fonctionne :
- Backend : http://localhost:8000/api/products
- Frontend : http://localhost:3000
- Login : Utiliser admin@citil.tg / password
- Navigation : Tester les pages protégées
🎉 L'authentification est maintenant complètement configurée et fonctionnelle !