Login Google+ API trong Laravel 7.x

Tram Ho

. Giới thiệu

  • Xin chào mọi người hôm nay mình có lang thang và tìm hiểu về cái login bằng google . Bài viết này cũng là mình ghi nhớ lại những gì mình đã làm được và hy vọng bài viết này có ích với các bạn . Mình bắt tay vào luôn nhé .

Step 1 Install Laravel

  1. Via Composer Create-Project composer create-project –prefer-dist laravel/laravel blog ở đây chúng ta dùng bản laravel mới nhất 7.x nhé ? .
  2. php artisan key:generate
  3. php artisan serve
  4. php artisan make:auth sử dụng auth của laravel luôn .

Step 2 Migration DB

  1. php artisan make:migration add_socialite_fields_to_users_table
  • Ở đây ta nên tạo mới 1 migration và add thêm các field vào bảng user nhé /

  • Tiếp theo ta thay đổi 1 chút trong Model User nhé

  • Mình thêm provider_name và provider_id vào $hidden vì mình không muốn trả lại chúng khi chuyển thể hiện mô hình dưới dạng mảng hoặc JSON do các vấn đề bảo mật .

Step 3. Install/Configure Laravel Socialite

  1. install package Socialite về nhé

    • composer require laravel/socialite.

    2 . Tiếp theo là thêm

trong config/auth.php
3. giờ ta đên config/services.php và ném chỗ này vào

  1. Tiếp đến là file . env

Về phần tạo webaplication trên gg console các bạn có thể tham khảo tại đây nhé .

Step 4. Button with Redirect to Google

Trong app/Http/Controllers/Auth/LoginController.php ta xử lý như sau:

Tiếp đến ta thêm route :

  • Cuối cùng ta add thêm 1 thẻ :

Step 5. Callback to Create User

  • Khi bạn nhấp vào nút Google Sign in và cấp quyền cho tài khoản Google của bạn với tư cách là người dùng, Google sẽ chuyển hướng bạn trở lại cái gọi là URL callback ( hãy nhớ, mình đã cung cấp nó trong .env trong Bước 3 ở trên ). Bây giờ là lúc để thực sự thực hiện nó nhé .
  • Ở bước này,đang tạo một người dùng mới với thông tin đăng nhập Google .
  • Ta thêm nó vào LoginController.php nhé mình sẽ giải thích ngay ở dưới :

  1. Ta nhận được người dùng từ Socialite, nếu thất bại – chúng tôi chuyển hướng về đăng nhập;
  2. Kiểm tra xem người dùng xem email tồn tại chưa , nếu tồn tại rồi thì login thôi ?;
  3. Nếu đó là người dùng mới – ta đăng ký họ và đăng nhập luôn;
  4. Cuối cùng chuyển hướng đến trang chủ đã đăng nhập, như hành động Đăng nhập thông thường .

Kết thúc

  • Hy vọng bài viết đem lại cho các bạn nhiều điều hay ho . Có gì thắc mắc thì các bạn hãy comment ở dưới nhé . Và đừng quên upvote để mình có động lực với những bài tiếp theo nhé . thanks for read .
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo