Otentikasi Facebook login dengan menggunakan Laravel Socialite

Laravel Socialite adalah paket yang disediakan laravel untuk memudahkan para developer menghubungkan user/pengguna (Facebook, Twitter, Google, Github, dsb), terhubung dengan website yang akan dibangun oleh developer web. Kebanyakan website modern menggunakan otentikasi web social media untuk register atau login ke web, memudahkan user mendaftar dan login.

Github Laravel Socialite : https://github.com/laravel/socialite
Oke, baiklah langsung saja.

Install Socialite menggunakan Composer.

$ composer require laravel/socialite

Setelah socialite terinstall, maka kita perlu menambahkan atau mengedit file 'config/app.php'. Menambahkan baris kode pada dibagian Providers ;

Laravel\Socialite\SocialiteServiceProvider::class,

Dan juga menambahkan baris kode pada bagian Aliasess ;

'Socialite' => Laravel\Socialite\Facades\Socialite::class,

Buat Aplikasi Facebook.

Selanjut buka situs Developer Facebook https://developers.facebook.com jika anda belum terdaftar, silahkan daftar dahulu dan login. Oke, disini saya anggap anda sudah terdaftar dan sudah masuk ke halaman Developers Facebook, dan sudah mendaftarkan aplikasi web anda di Facebook Developer. Disini saya tidak menjelaskan gimana cara nya membuat aplikasi facebook, karena untuk menjelaskan nya sangat spesifik dan panjang juga jadi sebaik nya silahkan googling cara mendaftarkan aplikasi facebook. (tapi kalo bertanya, silahkan saja)
Setelah aplikasi facebook anda terdaftar maka anda akan mendapatkan kode "app id" dan "app secret". Kode id ini akan kita simpan pada file 'config/services.php'. Baiklah buka file 'config/services.php' dan edit kode dengan menambahkan;

'facebook' => [
'client_id' => 'app_id_pada_facebook',
'client_secret' => 'app_secret_pada_facebook',
'redirect' => 'http://web-aplikasi-anda.app:8000/auth/facebook/callback',
],

Routes.

Menambahkan route ke halaman register/login ke facebook dan menampilkan respon callback dari facebook.

Route::get('auth/{provider}', 'Auth\AuthController@redirectToProvider')
Route::get('auth/{provider}/callback', 'Auth\AuthController@handleProviderCallback');

Test pada Controller

Dengan route diatas, maka kita menggunakan AuthController dengan fungsi 'redirectToProvider' dan 'handleProviderCallBack'. Mari kita coba apakah berjalan dengan baik, antara facebook dan web aplikasi anda.
public function redirectToProvider($provider)

public function redirectToProvider($provider)
{
return Socialite::driver($provider)->redirect();
}
public function handleProviderCallback($provider)
{
$user = Socialite::driver($provider)->user();
dd($user); //test dump menampilkan data user facebook.
}


Jika berhasil maka disini akan menampilkan data user facebook, silahkan coba web aplikasi anda dengan route auth/facebook. Contoh "http://web-aplikasi-anda.app:8000/auth/facebook".
Begitulah kira kira aplikasinya, pertama user masuk ke halaman 'aplikasi.app/auth/facebook' setelah itu kita akan diminta untuk mengotentikasikan aplikasi web tersebut, setelah itu kita akan dikembalikan ke web aplikasi dengan data user facebook kita.
Next tutorial, memasukan data user facebook ke database.

sumber : https://mattstauffer.co/blog/using-github-authentication-for-login-with-laravel-socialite
sumber : https://github.com/laravel/socialite

Popular posts from this blog

Membuat Server Pertama Node.js

List perusahaan AI terbaik 2022