Download the PHP package moko-github/kerberos-auth without Composer

On this page you can find all versions of the php package moko-github/kerberos-auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package kerberos-auth

kerberos-auth

Package Laravel d'authentification SSO Kerberos via la variable serveur REMOTE_USER.

Fonctionnalités


Prérequis

Sur votre modèle utilisateur et votre application :


Installation

1. Dévelopement sur le package avec dependance projet, déclarer le dépôt dans composer.json

Développement (chemin local) :

2. Installer le package

3. Lancer l'installateur

Sans option, la commande pose deux questions interactives. Sans réponse, les valeurs par défaut (entre crochets) s'appliquent.

La question sur les rôles est posée avant les migrations, ce qui garantit que la colonne role_id n'est ajoutée à la table users que si vous en avez besoin.

Cette commande effectue automatiquement :

Toutes les étapes sont idempotentes : relancer kerberos:install ne duplique rien. Si une injection automatique échoue, un message indique les lignes à ajouter manuellement.

Options de la commande

Option Effet
(aucune) Questions interactives
--no-roles Ignore le système de rôles (migration roles + role_id + RolesSeeder)
--no-seed Ignore tous les seeders sans poser de question (les migrations s'exécutent quand même)

Les flags ont la priorité sur les clés de config install.run_seeders et install.seed_roles.


Seeders

RolesSeeder

Crée deux rôles en base : Admin et User.

Exécuté uniquement si vous avez répondu oui à la question sur le système de rôles (ou si --no-roles n'est pas passé). À ignorer si vous utilisez un autre système de rôles (Spatie Permission, rôles personnalisés, etc.).

KerberosSetupSeeder

Crée un compte administrateur de test ([email protected] / password) avec l'identifiant Kerberos [email protected], et assigne le rôle User aux utilisateurs existants sans rôle.

À utiliser pour initialiser la base lors d'une première installation. À ignorer (--no-seed) si vous gérez vos propres données initiales.

Note : si App\Enums\UserStatus existe dans l'application, le compte admin est créé avec le statut ACTIVE.


Configuration

Publiez le fichier de configuration pour le personnaliser :

Cela crée config/kerberos.php dans votre application.

Modèle utilisateur

Le package ne présume pas que votre modèle utilisateur est App\Models\User. Il le résout automatiquement dans cet ordre :

  1. config('kerberos.user_model') (override explicite)
  2. config('auth.providers.users.model') (défaut Laravel)
  3. App\Models\User (dernier recours)

Aucune configuration n'est nécessaire dans la majorité des cas. Pour forcer un modèle spécifique :

Routes de redirection

Le package redirige vers des routes nommées de votre application. Par défaut dashboard (après login réussi) et login (accès refusé, fin de simulation, etc.). Si vos routes portent d'autres noms :

ou via .env : KERBEROS_SUCCESS_ROUTE et KERBEROS_LOGIN_ROUTE.

Variables d'environnement

KERBEROS_FALLBACK_AUTH=false impose Kerberos : une requête sans ticket reçoit un 403. Avec true (défaut), l'utilisateur sans ticket atteint le formulaire de connexion classique de votre application.

Notifications admin : avec KERBEROS_ADMIN_EMAILS renseigné, les emails sont envoyés directement à ces adresses (mail on-demand, même sans compte User). Sinon, les utilisateurs portant le rôle KERBEROS_ADMIN_ROLE sont notifiés. Si vous utilisez une stratégie de rôle relation / callable, privilégiez KERBEROS_ADMIN_EMAILS.

Routes exclues

Par défaut, le middleware Kerberos exclut automatiquement ces routes : access-denied, access-request.create, access-request.store, logout, livewire.*

Pour ajouter vos propres exclusions :

Layout des pages Kerberos

Les pages /demande-acces et /acces-refuse utilisent par défaut le layout minimal embarqué dans le package (kerberos-auth::layouts.guest) — une page blanche centrée qui ne nécessite que Tailwind CSS.

Pour utiliser le layout de votre application :

Pour personnaliser le layout du package :

Stratégie de vérification des rôles

Définit comment le package détermine qu'un utilisateur est autorisé à se connecter. Un utilisateur qui échoue ce contrôle reçoit le statut NO_ROLE et est redirigé vers le formulaire de demande d'accès.

strategy: 'column' (défaut)

Vérifie une colonne du modèle User avec un opérateur.

operator Condition d'accès Cas d'usage typique
is_not_null $user->role_id !== null Système mono-rôle (FK)
is_null $user->deleted_at === null Soft-delete comme garde d'accès

strategy: 'relation'

strategy: 'callable'

La classe doit implémenter MokoGithub\KerberosAuth\Contracts\UserAccessCheckInterface :

Seeders (via config)


Composants Livewire

<livewire:auth.access-denied />

Affiché quand un identifiant Kerberos est inconnu du système. Route : GET /acces-refuseaccess-denied

<livewire:auth.request-access />

Formulaire pour les utilisateurs reconnus mais sans rôle. Route : GET /demande-accesaccess-request.create

<livewire:auth.simulate-kerberos />

Interface de simulation réservée au développement. Prérequis : KERBEROS_SIMULATION_MODE=true.

<livewire:auth.simulation-banner />

Bannière visible quand une simulation est active. À placer dans le layout principal.


Personnalisation des vues

Copie dans resources/views/vendor/kerberos-auth/ :


Internationalisation (i18n)

Le package embarque des fichiers de traduction pour l'anglais (en) et le français (fr). Par défaut, Laravel utilise la locale de config('app.locale').

Passer le package en français

Dans config/app.php :

Toutes les chaînes du package (notifications mail, messages flash, validation, vues Blade) s'afficheront automatiquement en français.

Publier et personnaliser les traductions

Copie dans lang/vendor/kerberos-auth/ :

Les fichiers publiés prennent le dessus sur ceux du package. Modifiez-les pour adapter les messages à votre contexte (ton, vocabulaire interne, langue tierce).

Note : Les traductions du package sont chargées sous le namespace kerberos-auth. Les clés suivent la structure kerberos-auth::kerberos.<section>.<clé>, par exemple kerberos-auth::kerberos.flash.simulation_disabled.


Développement & tests

Les tests s'appuient sur Orchestra Testbench + Pest, avec une base SQLite en mémoire et un modèle utilisateur de fixture (tests/Fixtures/User.php). La CI (.github/workflows/ci.yml) exécute Pint, PHPStan et Pest sur PHP 8.2 / 8.3 / 8.4.


Mise à jour


Commandes artisan


Publication des ressources


All versions of kerberos-auth with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
laravel/framework Version ^12.0
livewire/livewire Version ^3.0|^4.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package moko-github/kerberos-auth contains the following files

Loading the files please wait ...