PHPackages                             axproo/auth-lib - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. axproo/auth-lib

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

axproo/auth-lib
===============

Bibliothèque d'authentification complète et réutilisable pour CI4.

1.1.7(5mo ago)04MITPHPPHP &gt;=8.1

Since Nov 16Pushed 5mo agoCompare

[ Source](https://github.com/axproo/auth-lib)[ Packagist](https://packagist.org/packages/axproo/auth-lib)[ RSS](/packages/axproo-auth-lib/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (9)Versions (11)Used By (0)

🧩 AXPROO Auth Library
=====================

[](#-axproo-auth-library)

Une librairie PHP légère et réutilisable pour la gestion de l’authentification basée sur **JSON Web Token (JWT)**. Elle peut être utilisée seule ou intégrée dans un projet **CodeIgniter 4** et **PHP standalone**.

🚀 Fonctionnalités
-----------------

[](#-fonctionnalités)

- 🔐 Génération de tokens JWT d’accès et de rafraîchissement.
- ✅ Validation et décodage sécurisés des tokens.
- ⚙️ Configuration dynamique à partir d’un fichier .env.
- 🧱 Compatible PHP pur ou CodeIgniter 4.
- ♻️ Réutilisable comme package Composer dans d’autres projets.

📦 Structure du projet
---------------------

[](#-structure-du-projet)

```
auth-lib/
├── src/
│   ├── Services/
│   │   ├── AuthService.php
│   │   ├── TokenManager.php
│   │   └── PasswordHasher.php
│   ├── Models/
|   |   ├── RuleModel.php
|   |   └── UserModel.php
│   ├── Entities/
|   |   ├── RoleEntity.php
|   |   └── UserEntity.php
│   └── Configs/
├── tests/
│   └── AuthTest.php
├── composer.json
└── phpunit.xml
```

⚙️ Installation
---------------

[](#️-installation)

### 1. Utilisation en local (développement)

[](#1-utilisation-en-local-développement)

Clonez le dépôt :

```
git clone https://github.com/axproo/auth-lib.git
cd auth-lib
composer install
```

### 2. Ajout à un projet CodeIgniter 4

[](#2-ajout-à-un-projet-codeigniter-4)

Ajoutez dans le composer.json de votre projet :

```
"repositories": [
  {
    "type": "vcs",
    "url": "https://github.com/axproo/auth-lib.git"
  }
],
"require": {
  "axproo/auth-lib": "dev-main"
}
```

Puis exécutez :

```
composer update
```

🔑 Configuration
---------------

[](#-configuration)

Créez un fichier .env à la racine de votre projet ou du répertoire auth-lib :

```
#--------------------------------------------------------------------
# JWT
#--------------------------------------------------------------------
JWT_SECRET=ma_cle_super_secrete
JWT_REFRESH_SECRET=ma_cle_refresh_encore_plus_secrete
JWT_EXPIRE=3600

#--------------------------------------------------------------------
# Cookie Security
# HTTP = false, HTTPS = true
#--------------------------------------------------------------------
SECURE_COOKIE = false

```

Pour générer un jwt secret, faire ceci: Avec OpenSSL

```
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
```

Génère une clé Base64 de 32 octets et l’ajoute à la fin du fichier .env. Si tu veux remplacer l’ancienne valeur si elle existe :

```
sed -i '/^JWT_SECRET=/d' .env && echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
```

💡 Astuce : toujours vérifier le contenu du .env après insertion :

```
cat .env | grep JWT_SECRET
```

⚠️ Si vous testez la librairie seule (en dehors de CodeIgniter 4), la classe Auth chargera automatiquement ce fichier .env.

💻 Utilisation
-------------

[](#-utilisation)

**Exemple rapide dans** test.php

```
