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.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow