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.
- 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.
Via Composer :
composer require blitz-php/vollmachtPuis, publiez la configuration et les migrations :
php klinge vollmacht:publish
php klinge migrateGénérez les clés de chiffrement nécessaires au serveur OAuth :
php klinge vollmacht:keysPour 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;
}Dans votre fichier app/Config/Routes.php :
$router->group('/api', ['middleware' => 'vollmacht:auth'], function($router) {
$router->get('user', 'Api\UserController::profile');
});php klinge vollmacht:client --name="Mon Application Mobile" --redirect_uri="myapp://callback"composer testLes contributions sont les bienvenues ! Veuillez consulter le Guide de Contribution et vous assurer que vos modifications passent les tests et l'analyse statique.
composer ciCe projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- Auteur : Dimitri Sitchet Tomkeu
- Inspiration : Laravel Passport & league/oauth2-server
"Donner procuration, c'est faire confiance. Vollmacht rend cette confiance sécurisée."