Recherche…


Installation

composer require laravel/socialite

Cette installation suppose que vous utilisez Composer pour gérer vos dépendances avec Laravel, ce qui est un excellent moyen de le gérer.

Configuration

Dans votre config\services.php vous pouvez ajouter le code suivant

'facebook' => [
    'client_id' => 'your-facebook-app-id',
    'client_secret' => 'your-facebook-app-secret',
    'redirect' => 'http://your-callback-url',
],

Vous devrez également ajouter le fournisseur à votre config\app.php

Recherchez le tableau 'providers' => [] et, à la fin, ajoutez ce qui suit

'providers' => [
      ...
  
      Laravel\Socialite\SocialiteServiceProvider::class,
]

Une façade est également fournie avec le forfait. Si vous souhaitez l'utiliser, assurez-vous que le tableau d' aliases (également dans votre config\app.php ) a le code suivant

'aliases' => [
    ....
    'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]

Utilisation de base - Façade

return Socialite::driver('facebook')->redirect();

Cela redirigera une demande entrante vers l'URL appropriée à authentifier. Un exemple de base serait dans un contrôleur

<?php

namespace App\Http\Controllers\Auth;

use Socialite;

class AuthenticationController extends Controller {

    /**
     * Redirects the User to the Facebook page to get authorization.
     *
     * @return Response
     */
    public function facebook() {
        return Socialite::driver('facebook')->redirect();
    }

}

assurez-vous que votre fichier app\Http\routes.php a un itinéraire pour autoriser une demande entrante ici.

Route::get('facebook', 'App\Http\Controllers\Auth\AuthenticationController@facebook');

Utilisation de base - Injection de dépendance

/**
 * LoginController constructor.
 * @param Socialite $socialite
 */
public function __construct(Socialite $socialite) {
    $this->socialite = $socialite;
}

Dans le constructeur de votre contrôleur, vous pouvez désormais injecter la classe Socialite qui vous aidera à gérer les connexions avec les réseaux sociaux. Cela remplacera l'utilisation de la façade.

/**
 * Redirects the User to the Facebook page to get authorization.
 *
 * @return Response
 */
public function facebook() {
    return $this->socialite->driver('facebook')->redirect();
}

Socialite for API - Stateless

public function facebook() {
    return $this->socialite->driver('facebook')->stateless()->redirect()->getTargetUrl();
}

Cela renverra l'URL que le consommateur de l'API doit fournir à l'utilisateur final pour obtenir l'autorisation de Facebook.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow