Documentation

Tutoriel : Intégrer Pixxle Login sur un Framework PHP

Tutoriel : Intégrer Pixxle Login sur un Framework PHP

Rubriques

Cette documentation vise à guider les développeurs souhaitant intégrer le système de connexion OAuth 2 de Pixxle sur leur application web sur la base d’un Framework PHP avec un exemple spécifique pour Laravel. Il est nécessaire de disposer d’un compte sur la plateforme Pixxle Developer pour configurer et obtenir les paramètres requis tels que client_id, client_secret, et redirect_uri nécéssaire pour la mise en place du Pixxle Login.

 

Prérequis

  1. Un compte Pixxle (Inscription gratuite sur https://www.pixxle.me/register)
  2. L’activation de votre console sur Pixxle Developer
  3. La création d’une application Pixxle Login sur la console.
  4. Laravel 8.x ou supérieur installé sur votre serveur.

 

Étape 1: Configuration de Laravel

Assurez-vous que votre application Laravel est configurée pour utiliser les sessions et les routes. Si nécessaire, configurez votre environnement pour faire des requêtes HTTP externes.

 

Étape 2: Définir les routes

Définissez les routes nécessaires pour gérer le processus d’authentification :

Route::get('/auth/login', 'AuthController@login_v2')->name('login');
Route::get('/auth/callback', 'AuthController@callback_v2')->name('callback');

 

Étape 3: Créer le contrôleur AuthController

Méthode login_v2

Définissez les routes nécessaires pour gérer le processus d’authentification :

public function login_v2(Request $request)
{
    $state = Str::random(40); // Générer un état aléatoire pour la sécurité CSRF
    $request->session()->put("state", $state);

    $query = http_build_query([
        "client_id" => "votre_client_id",
        "redirect_uri" => "https://votre_domaine.com/auth/callback",
        "response_type" => "code",
        "scope" => "user.full", // Adapté selon les besoins
        "state" => $state,
    ]);

    return redirect("https://www.pixxle.me/oauth/v2/authorize?" . $query);
}

 

Méthode callback_v2

Cette méthode gère le retour de l’utilisateur après l’authentification, incluant la récupération du token et des informations utilisateur :

public function callback_v2(Request $request)
{
    $state = $request->session()->pull("state");
    if (!$request->has('state') || $request->state !== $state) {
        return redirect()->route('login')->withErrors(['state_mismatch' => 'Invalid state parameter']);
    }

    if ($request->has('code')) {
        $response = Http::post('https://www.pixxle.me/v2/oauth/token', [
            'client_id' => 'votre_client_id',
            'client_secret' => 'votre_client_secret',
            'code' => $request->code,
            'redirect_uri' => 'https://votre_domaine.com/auth/callback',
            'grant_type' => 'authorization_code',
        ]);

        if ($response->successful()) {
            $accessToken = $response->json()['access_token'];

            // Utiliser le token pour récupérer les informations de l'utilisateur
            // Ajouter la logique pour gérer l'utilisateur dans votre système
        } else {
            return redirect()->route('login')->withErrors(['error' => 'Erreur lors de l\'échange du code.']);
        }
    }

    return redirect()->route('login')->withErrors(['error' => 'Code manquant.']);
}

 

Étape 4: Tester l’intégration

Testez l’intégration en vous assurant que les redirections fonctionnent correctement et que les informations utilisateur sont correctement récupérées et traitées.

 

Assurez-vous de sécuriser les clés client_secret et de suivre les meilleures pratiques pour gérer les données utilisateur.

Besoin d'aide ?

Nos experts et la communauté vous attendent

Vous avez besoin d’une aide spécifique concernant l’utilisation ou l’intégration de nos solutions, rendez-vous sur notre serveur Discord afin d’en discuter avec la communauté et les experts Pixxle.