Hallo Sobat Antmediahost, Pada kali ini kita akan membahas bagaimana cara membuat login OAuth whmcs di Laravel, Oauth sendiri dikutip dari Wikipedia merupakan suatu protokol terbuka yang memungkinkan pengguna untuk berbagi sumber pribadi mereka yang disimpan di suatu situs web dengan situs lain tanpa perlu menyerahkan nama pengguna dan kata sandi mereka.
WHMCS sendiri menggunakan OpenID Connect sebagai standar unruk SInggle sign-on (SSO) agar aplikasi dapat tehubung dengan WHMCS. Agar dapat membuat login OAuth OpenID Connect di Laravel adalah sebagai berikut.
1. Install Laravel
silahkan install laravel
composer create-project laravel/laravel OpenIDLogin
2. Masuk ke project Laravel
cd OpenIDLogin
3. Instal Package
composer require socialiteproviders/whmcs
tunggu sampai instalisasi package selesai
4. Tambahkan konfigurasi ke config/services.php
'whmcs' => [
'client_id' => env('WHMCS_CLIENT_ID'),
'client_secret' => env('WHMCS_CLIENT_SECRET'),
'redirect' => env('WHMCS_REDIRECT_URI'),
'url' => env('WHMCS_URL'), // URL of your WHMCS installation
],
Kode diatas digunakan untuk konfigurasi driver whmcs seperti client_id dll yang dapat di ubah melalui file .env
5. Tambahkan Environment Variable pada file .env
Tambahkan kode berikut di baris paling bawah pada file .env
WHMCS_CLIENT_ID="isi dengan client id dari whmcs "
WHMCS_CLIENT_SECRET="isi dengan client secret "
WHMCS_REDIRECT_URI="isi dengan redirect url / callback url"
WHMCS_URL=" isi dengan url whmcs "
Untuk mendapatkan client_id, client Secret, dan redirect url. Anda harus mendaftarkan aplikasi pada whmcs, silahkan cek link berikut https://docs.whmcs.com/OpenID_Connect untuk mengetahui cara mendaftarkannya.
6. Menambahkan Provider Event Listener
Tambahkan event ke dalam array $listen[] di app/Providers/EventServiceProvider. Seperti berikut.
protected $listen = [
//event lain
SocialiteProvidersManagerSocialiteWasCalled::class => [
SocialiteProvidersWhmcsWhmcsExtendSocialite::class.'@handle',
],
];
7. Menambahkan kode redirect login
Setelah semua konfigurasi di lakukan, Langkah selanjutnya tinggal menambahkan kode redirect login pada route atau controller Laravel.
return Socialite::driver('whmcs')->redirect();
8. Menambahkan kode Get User Deatail pada callback
Kemudian Langkah selanjutnya adalah menambahkan kode get user detail pada route/controller callback.
$user = Socialite::driver('whmcs')->user();
Variable $user
akan berisi json data detail user yang nantinya dapat di gunakan untuk hal lain.
9. Menjalakan aplikasi
Setelah selesai Langkah terakhir adalah mengetes apakah aplikasi dapat berjalan atau tidak dangan mengaktifkan Laravel serve
php artisan serve
0 Comments