PHPackages                             anpi-gabon/laravel-sso - 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. anpi-gabon/laravel-sso

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

anpi-gabon/laravel-sso
======================

Intégration OAuth 2.0 (SSO) pour les applications du périmètre ANPI-Gabon — Laravel Socialite driver.

v1.0.3(2mo ago)01MITPHPPHP ^8.1CI passing

Since Apr 27Pushed 2mo agoCompare

[ Source](https://github.com/clercmbounghou/laravel-sso)[ Packagist](https://packagist.org/packages/anpi-gabon/laravel-sso)[ RSS](/packages/anpi-gabon-laravel-sso/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (3)Versions (5)Used By (0)

anpi-gabon/laravel-sso
======================

[](#anpi-gabonlaravel-sso)

Package Laravel pour l'intégration du SSO ANPI-Gabon (OAuth 2.0 Authorization Code Flow).
Utilisez ce package pour que vos applications Laravel s'authentifient via **investingabon.ga**.

---

Installation
------------

[](#installation)

```
composer require anpi-gabon/laravel-sso
```

Le service provider est enregistré automatiquement via Laravel Package Discovery.

---

Configuration
-------------

[](#configuration)

### 1. Variables d'environnement

[](#1-variables-denvironnement)

Ajoutez dans votre `.env` les credentials fournis par l'administrateur ANPI :

```
ANPI_SSO_CLIENT_ID=5
ANPI_SSO_CLIENT_SECRET=AbCdEfGhIjKlMnOpQrStUv...
ANPI_SSO_URL=https://investingabon.ga
```

### 2. `config/services.php`

[](#2-configservicesphp)

Ajoutez le bloc `anpi` :

```
'anpi' => [
    'client_id'     => env('ANPI_SSO_CLIENT_ID'),
    'client_secret' => env('ANPI_SSO_CLIENT_SECRET'),
    'redirect'      => env('APP_URL') . '/auth/anpi/callback',
    'base_uri'      => env('ANPI_SSO_URL', 'https://investingabon.ga'),
],
```

---

Publication des ressources
--------------------------

[](#publication-des-ressources)

```
# Tout publier d'un coup
php artisan vendor:publish --tag=anpi-sso

# Ou individuellement :
php artisan vendor:publish --tag=anpi-sso-config       # config/anpi-sso.php
php artisan vendor:publish --tag=anpi-sso-migration    # migration users
php artisan vendor:publish --tag=anpi-sso-controller   # ANPIAuthController
php artisan vendor:publish --tag=anpi-sso-routes       # routes/anpi.php
php artisan vendor:publish --tag=anpi-sso-views        # bouton blade
```

---

Mise en place rapide
--------------------

[](#mise-en-place-rapide)

### Étape 1 — Migration

[](#étape-1--migration)

```
php artisan vendor:publish --tag=anpi-sso-migration
php artisan migrate
```

Cela ajoute les colonnes `anpi_id`, `anpi_token`, `anpi_refresh_token`, `avatar`, `token_expires_at` à la table `users`.

### Étape 2 — Modèle User

[](#étape-2--modèle-user)

Ajoutez dans `app/Models/User.php` :

```
protected $fillable = [
    // ... existant ...
    'anpi_id', 'anpi_token', 'anpi_refresh_token', 'avatar', 'token_expires_at',
];

protected $hidden = [
    // ... existant ...
    'anpi_token', 'anpi_refresh_token',
];

protected function casts(): array
{
    return [
        // ... existant ...
        'token_expires_at' => 'datetime',
    ];
}
```

### Étape 3 — Controller et routes

[](#étape-3--controller-et-routes)

```
php artisan vendor:publish --tag=anpi-sso-controller
php artisan vendor:publish --tag=anpi-sso-routes
```

Puis dans `routes/web.php` :

```
require base_path('routes/anpi.php');
```

### Étape 4 — Bouton de connexion

[](#étape-4--bouton-de-connexion)

Dans votre vue de login :

```
@include('vendor.anpi-sso.button')
```

Ou avec un texte personnalisé :

```
@include('vendor.anpi-sso.button', ['slot' => 'Accéder à l\'espace investisseur'])
```

---

Utilisation du driver directement
---------------------------------

[](#utilisation-du-driver-directement)

```
use Laravel\Socialite\Facades\Socialite;

// Rediriger vers le SSO
return Socialite::driver('anpi')
    ->scopes(['profile', 'email', 'investor'])
    ->redirect();

// Récupérer l'utilisateur après callback
$user = Socialite::driver('anpi')->user();

$user->getId();       // sub (identifiant ANPI)
$user->getName();     // nom complet
$user->getEmail();    // email
$user->getAvatar();   // URL avatar
$user->token;         // access token
$user->refreshToken;  // refresh token
$user->expiresIn;     // durée de validité (secondes)
```

---

Scopes disponibles
------------------

[](#scopes-disponibles)

ScopeDonnées accessibles`profile`Nom, avatar`email`Adresse email`investor`Espace investisseur`partner`Espace partenaires`admin`Administration ANPI---

Compatibilité
-------------

[](#compatibilité)

LaravelPHPVersion du package10.x8.1+1.x11.x8.2+1.x12.x8.2+1.x---

Publication sur Packagist
-------------------------

[](#publication-sur-packagist)

1. Créez un dépôt GitHub : `anpi-gabon/laravel-sso`
2. Poussez ce code dessus
3. Connectez-vous sur [packagist.org](https://packagist.org) et soumettez l'URL du dépôt
4. Les applications pourront alors installer avec :

```
composer require anpi-gabon/laravel-sso
```

---

Licence
-------

[](#licence)

MIT — © ANPI-Gabon, Direction des Systèmes d'Information

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance83

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

88d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3b59671d6c91d98c9450a0a02c3d096e14eab2501878fbe311d79c9b4acf3b1b?d=identicon)[Clerc M'BOUNGHOU](/maintainers/Clerc%20M'BOUNGHOU)

---

Top Contributors

[![clercmbounghou](https://avatars.githubusercontent.com/u/28981134?v=4)](https://github.com/clercmbounghou "clercmbounghou (7 commits)")

---

Tags

laravelSSOsocialiteoauth2anpigabon

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/anpi-gabon-laravel-sso/health.svg)

```
[![Health](https://phpackages.com/badges/anpi-gabon-laravel-sso/health.svg)](https://phpackages.com/packages/anpi-gabon-laravel-sso)
```

###  Alternatives

[seoda/socialite-apple

Apple OAuth2 Provider for Laravel Socialite

1128.6k](/packages/seoda-socialite-apple)[laravel-uis/socialite-ui

A Laravel Socialite UI for the new Laravel Starter Kits

117.4k1](/packages/laravel-uis-socialite-ui)[truckersmp/steam-socialite

Laravel Socialite provider for Steam OpenID.

1518.6k](/packages/truckersmp-steam-socialite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
