Buscar..
Instalación
composer require laravel/socialite
Esta instalación asume que estás usando Composer para administrar tus dependencias con Laravel, que es una excelente manera de lidiar con eso.
Configuración
En su config\services.php
puede agregar el siguiente código
'facebook' => [
'client_id' => 'your-facebook-app-id',
'client_secret' => 'your-facebook-app-secret',
'redirect' => 'http://your-callback-url',
],
También deberá agregar el Proveedor a su config\app.php
Busque la matriz 'providers' => []
y, al final de la misma, agregue lo siguiente
'providers' => [
...
Laravel\Socialite\SocialiteServiceProvider::class,
]
Una fachada también se proporciona con el paquete. Si desea config\app.php
asegúrese de que la matriz de aliases
(también en su config\app.php
) tenga el siguiente código
'aliases' => [
....
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
]
Uso básico - Fachada
return Socialite::driver('facebook')->redirect();
Esto redirigirá una solicitud entrante a la URL apropiada para autenticarse. Un ejemplo básico sería en un controlador.
<?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();
}
}
asegúrese de que su app\Http\routes.php
tenga una ruta para permitir una solicitud entrante aquí.
Route::get('facebook', 'App\Http\Controllers\Auth\AuthenticationController@facebook');
Uso básico - inyección de dependencia
/**
* LoginController constructor.
* @param Socialite $socialite
*/
public function __construct(Socialite $socialite) {
$this->socialite = $socialite;
}
Dentro del constructor de su Controlador, ahora puede inyectar la clase Socialite
que lo ayudará a manejar el inicio de sesión con las redes sociales. Esto reemplazará el uso de la fachada.
/**
* 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();
}
Esto devolverá la URL que el consumidor de la API debe proporcionar al usuario final para obtener la autorización de Facebook.