Authentication laravel +5.4 en twitch

Registrarte y authenticarse mediante la

Hoy mostraremos como implementar en nuestro proyecto una authentication basada en servicios externos a nuestra web, en nuestro caso vamos a usar un login basado en la plataforma de twitch.

Para poder llevar este proceso a cabo necesitamos basarnos en este proyecto SocialiteProviders, es una colección de providers para poder usar una authentication externa.

En nuestro caso los incorporaremos a un proyecto ya realizado de Laravel 5.4

  • Añadimos las librerías a nuestro proyecto, mediante Composer

composer require socialiteproviders/twitch

  • Necesitamos añadir la clase a nuestro listados de providers que se encuentra en la ruta ‘App\config’ de nuestro proyecto, debemos comentar la original de Socialite y agregar la nuestra.
    //Laravel\Socialite\SocialiteServiceProvider::class,
     \SocialiteProviders\Manager\ServiceProvider::class, // add
  • Ahora necesitamos editar nuestro archivo donde registran los eventos , que en nuestro caso es App/Providers/EventServiceProvider, añadimos el evento que se encarga de obtener la llamada de twitch.
/**
 * The event listener mappings for the application.
 *
 * @var array
 */
protected $listen = [
    'App\Events\SomeEvent' => [
        'App\Listeners\EventListener',
    ],
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // add your listeners (aka providers) here
        'SocialiteProviders\Twitch\TwitchExtendSocialite@handle',
    ],
];
  • Ahora necesitamos añadir a nuestro archivo de configuración «.env» las variables de Twitch.
TWITCH_KEY=yourkeyfortheservice

TWITCH_SECRET=yoursecretfortheservice

TWITCH_REDIRECT_URI=https://example.com/login

Estas variables las conseguimos entrando en nuestra cuenta de twitch, nos vamos a nuestra configuración y dentro de esta vamos al submenu de Conexiones.

Abajo del todo de la sección veremos un botón que indica registra tu aplicación, pues entramos y la registramos, recordar que la Url de redireccion debe ser la misma que pongamos en nuestra configuración y ademas esta ruta debe ser creada en nuestras rutas de Laravel.

  • Se debe crear una ruta en nuestro archivo de estas, que en la versión 5.4 esta en ‘routes\web’ que debe contemplar el login inicial, es decir cuando alguien le da el botón de loguearse, este debe llamar a una funcion similar a esta que se encarga de redireccionar a la url que indicamos en la configuración.
Route::get('/login', 'Auth\LoginController@redirectToTwitchAuthentication');
public function redirectToTwitchAuthentication()
{
    return Socialite::driver('twitch')->redirect();

}
  • Una vez que este paso lo hemos hecho, nos falta recoger la llamada con el usuario de twitch ya autenticado,para ello usaremos la ruta que indicamos en la configuración.
Route::get('/callback', 'Auth\LoginController@handleTwitchCallback');

public function handleTwitchCallback(Request $request)
{
        $twitchUser = Socialite::with('twitch')->user();
}
  • Con la variable $twitchUser tendremos nuestro objeto de usuario logueado con Twitch.

One thought on “Authentication laravel +5.4 en twitch

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *