In this tutorial we will learn how to login with google in laravel.
How to login with google in laravel
To enable users to log in using their Google account in a Laravel application, you can follow the steps below:
Step 1: Create a Google API Console Project
- Go to Google API Console https://console.developers.google.com/ and create a new project.
- Enable the Google+ API by navigating to the Library section and searching for "Google+ API", then clicking on "Enable".
- Create a set of credentials for the project, by navigating to the Credentials section and clicking on "Create Credentials" and selecting "OAuth client ID".
- Choose "Web application" as the application type and set the "Authorized JavaScript origins" and "Authorized redirect URIs" as appropriate for your application.
Step 2: Install the Laravel Socialite Package
- Laravel Socialite is a package that makes it easy to authenticate with third-party OAuth providers, including Google.
- Install it via Composer by running the following command in your terminal:
composer require laravel/socialite
Step 3: Configure Laravel to Use Socialite
- In your Laravel application, open the config/services.php file and add the following configuration for Google:
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('GOOGLE_REDIRECT'),
],
Step 4: Add Google Login Button to Your Application
- In your application, add a button that will redirect the user to the Google login page. This can be done using a simple HTML link, or by using a package like Laravel Socialite UI.
Step 5: Handle the Callback from Google
- After the user logs in with Google, they will be redirected back to your application with an access token.
- Create a route in your application that will handle the callback from Google and redirect the user to their dashboard or other appropriate page.
- In your controller method that handles the callback, use Laravel Socialite to get the user details and log them in:
use Laravel\Socialite\Facades\Socialite;
public function handleGoogleCallback()
{
$user = Socialite::driver('google')->user();
// Check if the user exists in your application database, and if not, create a new user.
// Then log in the user and redirect to their dashboard or other appropriate page.
}
And that's it! With these steps, your Laravel application will be able to authenticate users with their Google account.