How to Login with Facebook in Laravel

AuthorSumit Dey Sarkar

Pubish Date22 Mar 2023

categoryLaravel

In this tutorial we will learn how to login with facebook in laravel.

 

How to login with facebook in laravel

To allow users to login with Facebook in Laravel, you can follow these steps:

 

 

Step 1 - Create a Facebook Developer account and create a new Facebook App.

 

Step 2 - Install the laravel/socialite package using Composer by running the following command in your Laravel project's root directory:

composer require laravel/socialite

 

Step 3 - In the config/services.php file, add the following configuration for the Facebook provider:

'facebook' => [
    'client_id' => env('FACEBOOK_CLIENT_ID'),
    'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
    'redirect' => env('FACEBOOK_REDIRECT_URI'),
],

 

Step 4 - In your .env file, add the following environment variables:

FACEBOOK_CLIENT_ID=your_facebook_app_id
FACEBOOK_CLIENT_SECRET=your_facebook_app_secret
FACEBOOK_REDIRECT_URI=your_redirect_uri

Replace your_facebook_app_id, your_facebook_app_secret, and your_redirect_uri with the appropriate values.

 

Step 5 - In your AuthController or another appropriate controller, add the following method to redirect the user to Facebook for authentication:

use Laravel\Socialite\Facades\Socialite;

public function redirectToProvider()
{
    return Socialite::driver('facebook')->redirect();
}

 

Step 6 - Add the following method to your controller to handle the Facebook callback:

public function handleProviderCallback()
{
    $user = Socialite::driver('facebook')->user();

    // Do something with the user data (e.g. create a new user, log them in)

    return redirect('/home');
}

 

Step 7- In your routes/web.php file, add the following routes:

Route::get('login/facebook', 'AuthController@redirectToProvider');
Route::get('login/facebook/callback', 'AuthController@handleProviderCallback');

Replace AuthController with the appropriate controller.

 

That's it! Your users can now login to your Laravel app using their Facebook credentials.

Comments 0

Leave a comment