Laravel đăng Nhập Thông Qua Các Mạng Xã Hội Facebook, Google ...
Có thể bạn quan tâm
Hôm nay mình xin giới thiệu một phương thức đăng nhập thông qua mạng xã hội phổ biến hiện nay như Facebook, Google, Twitter, Github, ...Đăng nhập thông qua mạng xã hội là một tính năng quan trọng ngoài cách đăng nhập thông thường, vì hiện nay số lượng người dùng mạng xã hội là rất lớn, tính tiện lợi khi đăng nhập bằng Social authentication.Trong ví dụ hôm nay mình demo trên Facebook.
Hình ảnh demo

Bước 1: Cài đặt Laravel Socialite Package
Đây là package do chính Laravel cung cấp đó nha.
Mở terminal tại thư mục root website và chạy command sau để cài đặt:
composer require laravel/socialiteSau khi cài đặt xong, chúng ta tiến hành thêm vào providers và aliases trong file config config/app.php (Bỏ qua bước này đối với laravel 5.5 trở đi)
'providers' => [ .... Laravel\Socialite\SocialiteServiceProvider::class, ], 'aliases' => [ .... 'Socialite' => Laravel\Socialite\Facades\Socialite::class, ],Bước 2: Tạo facebook app
Bước này chúng ta tiến hành tạo 1 app trên https://developers.facebook.com/apps/ và tiến hành tạo app. Cách tạo app cũng đơn giản không cần phải nói.

- Sau khi tạo xong app, ở mục Thêm sản phẩm ⇒ Đăng nhập Facebook để có thể sử dụng tính năng.
- Tab Xét duyệt ứng dụng tiến hành Nộp các mục để duyệt *(email, public_profile, user_friends)
- Cũng tại tab Xét duyệt ứng dụng: Ứng dụng của bạn đang được phát triển và không khả dụng với mọi người. Bạn tiến hành click vào để ứng dụng được công khai nếu như bạn muốn đưa lên web server cho mọi người dùng.
- Và cuối cùng tại tab Bảng điều khiển chúng ta có được: ID ứng dụng và Khóa bí mật của ứng dụng
- Trong file config/services.php thêm
Sau sự cố bảo mật thông tin, FB đã thắc chặt chính sách hơn. Toàn bộ callback URL yêu cầu phải là https hết.
Nếu bạn làm localhost, cứ khai báo https://localhost/auth/facebook/callback
Sau đó truy cập https://localhost và làm theo hình sau:

Bước 3: Tạo facebook login
Facebook sẽ trả về thông tin của user, bạn cần phải lưu vào datatabase. Lưu như thế nào thì tùy các bạn, ở đây để đơn giản hóa demo mình thêm vào table users 2 trường là provider và provider_id.
Trong app/Http/routes.php
Route::get('auth/facebook', 'Auth\AuthController@redirectToFacebook')->name('auth.facebook'); Route::get('auth/facebook/callback', 'Auth\AuthController@handleFacebookCallback');Trong app/Http/Controllers/Auth/AuthController.php thêm 2 functions sau:
public function redirectToFacebook() { return Socialite::driver('facebook')->redirect(); } public function handleFacebookCallback() { try { $user = Socialite::driver('facebook')->user(); $create['name'] = $user->name; $create['email'] = $user->email; $create['facebook_id'] = $user->id; $userModel = new User; $createdUser = $userModel->addNew($create); Auth::loginUsingId($createdUser->id); return redirect()->route('home'); } catch (Exception $e) { return redirect('/'); } }Trong Models: app/User.php thêm function sau:
public function addNew($input) { $check = static::where('facebook_id',$input['facebook_id'])->first(); if(is_null($check)){ return static::create($input); } return $check; }Và cuối cùng trong login page các bạn đặt url là được:
{{ route('auth.facebook') }}Gặp vấn đề gì vui lòng để lại comment nhé!
Chúc các bạn thành công!
Từ khóa » đăng Nhập Bằng Facebook Laravel
-
[Laravel] Hướng Dẫn đăng Nhập, đăng Ký Tài Khoản Bằng ... - VnCoder
-
Laravel 5.8 Facebook Login With Socialite - Viblo
-
Laravel Social Login - Viblo
-
Đăng Nhập Laravel Bằng Gmail Và Facebook (mạng Xã Hội)
-
Hướng Dẫn đăng Nhập Bằng Tài Khoản Facebook Trong Laravel 8
-
Hướng Dẫn đăng Nhập Facebook Với Laravel Framework - YouTube
-
Laravel Socialite Tích Hợp Xác Thực Facebook Vào Website
-
How To Login With Facebook In Laravel 8 ? - DEV Community
-
Laravel Socialite Login With Facebook | ManhDan Blogs
-
Laravel 9 Socialite Login With Facebook Tutorial
-
Hướng Dẫn Tạo App Facebook Và đăng Nhập Bằng Facebook - Laravel
-
Laravel Việt Nam | [LOGIN BẰNG FACEBOOK]
-
Laravel Facebook Login: How To Use Facebook Login In Laravel
-
Lập Trình Web Bán Hàng Laravel - Đăng Nhập Bằng Tài Khoản Facebook