Search by

manous / l5-swagger-auth

emmanuelmukeni

Package d'authentification pour l5-swagger avec système de login sécurisé

v1.1.0 2026-09-04 15:43 UTC

This package is auto-updated.

Last update: 2026-09-04 16:09:09 UTC


README

Protège la documentation L5-Swagger avec une authentification indépendante (username + password).

Sans Sanctum, Passport, Spatie Permission ni table utilisateurs.

Compatibilité

PHP ^8.2
Laravel 11, 12, 13*
L5-Swagger ^9 || ^10 || ^11

* Laravel 13 nécessite darkaonline/l5-swagger ^11.

Prérequis

darkaonline/l5-swagger installé et configuré.

Installation

composer require manous/l5-swagger-auth

Ajoutez dans .env :

SWAGGER_USERNAME=admin
SWAGGER_PASSWORD=change-me

C’est suffisant pour protéger /api/documentation et /docs, et activer /swagger/login.

Optionnel — configuration publiée

php artisan vendor:publish --tag=manous-swagger-auth-config

Crée config/swagger-auth.php pour personnaliser routes, redirection, session, etc.

Les versions antérieures publiaient config/manous-swagger-auth.php (fichier ignoré). Renommez-le en swagger-auth.php ou republiez.

Optionnel — bouton Déconnexion dans Swagger UI

php artisan vendor:publish --tag=manous-swagger-auth-override-view --force

Sans cette commande, l’auth fonctionne ; le bouton logout n’apparaît pas dans Swagger UI.

Utilisation

URL Description
/swagger/login Formulaire de connexion
/api/documentation Swagger UI (protégé)
/docs Spécification OpenAPI (protégée)

Un utilisateur non authentifié est redirigé vers le login. Les assets Swagger (CSS/JS) restent publics.

Sécurité

  • Credentials uniquement via .env
  • Session indépendante de l’auth applicative
  • CSRF sur login / logout
  • Pas de rate limiting intégré : à gérer côté infra / app si besoin

Licence

MIT