Zoeken…
Installatie
composer require laravel/socialite
Bij deze installatie wordt ervan uitgegaan dat u Composer gebruikt voor het beheren van uw afhankelijkheden met Laravel, wat een geweldige manier is om ermee om te gaan.
Configuratie
In uw config\services.php
kunt u de volgende code toevoegen
'facebook' => [
'client_id' => 'your-facebook-app-id',
'client_secret' => 'your-facebook-app-secret',
'redirect' => 'http://your-callback-url',
],
U moet de Provider ook toevoegen aan uw config\app.php
Zoek naar 'providers' => []
array en voeg aan het einde het volgende toe
'providers' => [
...
Laravel\Socialite\SocialiteServiceProvider::class,
]
Een gevel wordt ook meegeleverd met het pakket. Als je er gebruik van wilt maken, zorg er dan voor dat de aliases
array (ook in je config\app.php
) de volgende code heeft
'aliases' => [
....
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]
Basisgebruik - Gevel
return Socialite::driver('facebook')->redirect();
Hiermee wordt een inkomend verzoek omgeleid naar de juiste te authenticeren URL. Een eenvoudig voorbeeld zou in een controller zijn
<?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();
}
}
zorg ervoor dat uw app\Http\routes.php
een route heeft om een inkomend verzoek hier toe te staan.
Route::get('facebook', 'App\Http\Controllers\Auth\AuthenticationController@facebook');
Basisgebruik - afhankelijkheidsinjectie
/**
* LoginController constructor.
* @param Socialite $socialite
*/
public function __construct(Socialite $socialite) {
$this->socialite = $socialite;
}
Binnen de constructor van uw controller, kunt u nu de Socialite
klasse injecteren die u zal helpen omgaan met inloggen met sociale netwerken. Dit vervangt het gebruik van de gevel.
/**
* Redirects the User to the Facebook page to get authorization.
*
* @return Response
*/
public function facebook() {
return $this->socialite->driver('facebook')->redirect();
}
Socialite voor API - staatloos
public function facebook() {
return $this->socialite->driver('facebook')->stateless()->redirect()->getTargetUrl();
}
Dit retourneert de URL die de consument van de API aan de eindgebruiker moet verstrekken om autorisatie van Facebook te krijgen.