Ricerca…
Installazione
composer require laravel/socialite
Questa installazione presuppone che tu stia utilizzando Composer per gestire le tue dipendenze con Laravel, che è un ottimo modo per affrontarlo.
Configurazione
Nel tuo config\services.php
puoi aggiungere il seguente codice
'facebook' => [
'client_id' => 'your-facebook-app-id',
'client_secret' => 'your-facebook-app-secret',
'redirect' => 'http://your-callback-url',
],
Dovrai anche aggiungere il Provider al tuo config\app.php
Cerca la matrice 'providers' => []
e, alla fine, aggiungi quanto segue
'providers' => [
...
Laravel\Socialite\SocialiteServiceProvider::class,
]
Una confezione è fornita anche con il pacchetto. Se vuoi farne un uso assicurati che l'array di aliases
(anche nella tua config\app.php
) abbia il seguente codice
'aliases' => [
....
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]
Uso di base - Facciata
return Socialite::driver('facebook')->redirect();
Questo reindirizzerà una richiesta in arrivo all'URL appropriato per essere autenticato. Un esempio di base sarebbe in un controller
<?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();
}
}
assicurati che il tuo file app\Http\routes.php
abbia un percorso per consentire una richiesta in arrivo qui.
Route::get('facebook', 'App\Http\Controllers\Auth\AuthenticationController@facebook');
Uso di base - Iniezione delle dipendenze
/**
* LoginController constructor.
* @param Socialite $socialite
*/
public function __construct(Socialite $socialite) {
$this->socialite = $socialite;
}
All'interno del costruttore del tuo Controller, ora sei in grado di iniettare la classe Socialite
che ti aiuterà a gestire i login con i social network. Questo sostituirà l'uso della facciata.
/**
* Redirects the User to the Facebook page to get authorization.
*
* @return Response
*/
public function facebook() {
return $this->socialite->driver('facebook')->redirect();
}
Socialite per API - Stateless
public function facebook() {
return $this->socialite->driver('facebook')->stateless()->redirect()->getTargetUrl();
}
Ciò restituirà l'URL che il consumatore dell'API deve fornire all'utente finale per ottenere l'autorizzazione da Facebook.