blitz-php/vollmacht

Serveur OAuth2 pour BlitzPHP - La procuration officielle

Maintainers

Package info

github.com/blitz-php/vollmacht

Forum

Documentation

pkg:composer/blitz-php/vollmacht

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 6

dev-main / 1.x-dev 2026-04-14 16:27 UTC

README

PHP Version Latest Version License

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_token et implicit.
  • 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

"Donner procuration, c'est faire confiance. Vollmacht rend cette confiance sécurisée."