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.