blitz-php / vollmacht
Serveur OAuth2 pour BlitzPHP - La procuration officielle
Requires
- php: ^8.2
- ext-json: *
- ext-openssl: *
- blitz-php/schild: ^1.7.1-rc
- firebase/php-jwt: ^7.0.5
- league/oauth2-server: ^9.0
- spatie/crypto: ^2.1
Requires (Dev)
- blitz-php/coding-standard: ^1.6
- blitz-php/framework: ^1.0.6-rc
- fakerphp/faker: ^1.24
- kahlan/kahlan: ^5.2
- phpstan/phpstan: ^1.12.33
Suggests
- ext-openssl: Requis pour la génération des clés de chiffrement OAuth.
- blitz-php/http-client: Utile pour tester les endpoints OAuth en local.
- dev-main / 1.x-dev
- dev-dependabot/composer/kahlan/kahlan-tw-5.2or-tw-6.0
- dev-dependabot/github_actions/stefanzweifel/git-auto-commit-action-7
- dev-dependabot/github_actions/actions/cache-5
- dev-dependabot/github_actions/dependabot/fetch-metadata-3.0.0
- dev-dependabot/github_actions/actions/checkout-6
- dev-dependabot/composer/phpstan/phpstan-tw-1.12.33or-tw-2.0.0
This package is auto-updated.
Last update: 2026-04-14 16:36:48 UTC
README
Vollmacht est le serveur OAuth2 officiel pour l'écosystème BlitzPHP.
Vollmacht signifie "Procuration" ou "Mandat" en allemand. Fidèle à son nom, cette bibliothèque permet à vos utilisateurs de délivrer une procuration sécurisée à des applications tierces pour accéder à leurs ressources, sans jamais exposer leurs identifiants.
Fonctionnalités
- Serveur OAuth2 complet : Implémente les standards
authorization_code,client_credentials,password,refresh_tokenetimplicit. - Intégration native avec Schild : Utilise les utilisateurs, groupes et permissions de Schild. Aucune duplication.
- Cli API First : Générez des clients OAuth via l'interface en ligne de commande
klinge. - Scopes Dynamiques : Définissez et vérifiez des scopes pour granulariser les accès.
- Middleware Prêt à l'emploi : Protégez vos routes API avec
vollmacht:auth. - JWT ou Base de données : Choisissez entre des tokens opaques (stockés en DB) ou des JWT signés.
Installation
Via Composer :
composer require blitz-php/vollmacht
Puis, publiez la configuration et les migrations :
php klinge vollmacht:publish php klinge migrate
Générez les clés de chiffrement nécessaires au serveur OAuth :
php klinge vollmacht:keys
Démarrage Rapide
1. Ajoutez le Trait à votre Modèle Utilisateur
Pour que vos utilisateurs puissent créer des tokens personnels, ajoutez le trait HasApiTokens à votre User entity :
<?php namespace App\Entities; use BlitzPHP\Schild\Entities\User as SchildUser; use BlitzPHP\Vollmacht\Traits\HasApiTokens; class User extends SchildUser { use HasApiTokens; }
2. Protégez une Route API
Dans votre fichier app/Config/Routes.php :
$router->group('/api', ['middleware' => 'vollmacht:auth'], function($router) { $router->get('user', 'Api\UserController::profile'); });
3. Créez un Client OAuth
php klinge vollmacht:client --name="Mon Application Mobile" --redirect_uri="myapp://callback"
Tests
composer test
Contribution
Les contributions sont les bienvenues ! Veuillez consulter le Guide de Contribution et vous assurer que vos modifications passent les tests et l'analyse statique.
composer ci
Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Crédits
- Auteur : Dimitri Sitchet Tomkeu
- Inspiration : Laravel Passport & league/oauth2-server
"Donner procuration, c'est faire confiance. Vollmacht rend cette confiance sécurisée."