Pada era digital yang semakin maju, proses login menjadi salah satu elemen terpenting dalam pengembangan aplikasi web. Menggunakan layanan pihak ketiga untuk login, seperti Google, adalah salah satu cara untuk mempermudah proses ini. Artikel ini akan membahas langkah-langkah membuat fitur “Login with Google” dalam aplikasi web menggunakan framework CodeIgniter 3.
Prasyarat
Sebelum memulai, pastikan Anda telah memenuhi prasyarat berikut:
- CodeIgniter 3: Pastikan Anda telah menginstal dan mengkonfigurasi CodeIgniter 3 di server atau lokal Anda.
- Akun Google Developer: Anda perlu membuat proyek di Google Developer Console dan mengaktifkan API OAuth 2.0.
- ID Klien dan Kunci Rahasia: Setelah membuat proyek di Google Developer Console, Anda akan memerlukan ID Klien dan Kunci Rahasia OAuth 2.0 yang akan digunakan dalam aplikasi Anda.
Langkah 1: Konfigurasi CodeIgniter
Pertama-tama, Anda perlu mengkonfigurasi CodeIgniter untuk bekerja dengan autentikasi OAuth 2.0 Google. Anda dapat melakukannya dengan mengikuti langkah-langkah berikut:
Buka berkas config/config.php
dalam proyek CodeIgniter Anda dan pastikan $config['base_url']
sudah terisi dengan URL proyek Anda.
Selanjutnya, buka berkas config/autoload.php
dan tambahkan 'url'
ke dalam autoload libraries:
$autoload['libraries'] = array('url');
Sekarang, buka berkas config/config.php
lagi dan pastikan $config['composer_autoload']
disetel ke TRUE
:
$config['composer_autoload'] = TRUE;
Selanjutnya, buat berkas konfigurasi OAuth 2.0 di config/oauth2.php
:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); $config['google_client_id'] = 'YOUR_GOOGLE_CLIENT_ID'; $config['google_client_secret'] = 'YOUR_GOOGLE_CLIENT_SECRET'; $config['google_redirect_uri'] = 'YOUR_REDIRECT_URL';
Gantilah 'YOUR_GOOGLE_CLIENT_ID'
, 'YOUR_GOOGLE_CLIENT_SECRET'
, dan 'YOUR_REDIRECT_URL'
dengan nilai-nilai yang Anda dapatkan dari Google Developer Console.
Langkah 2: Membuat Controller dan View
Selanjutnya, Anda perlu membuat controller dan view untuk halaman login dengan Google. Berikut adalah langkah-langkahnya:
Buat controller baru dengan nama GoogleLogin.php
dalam direktori application/controllers
. Ini akan menjadi controller untuk halaman login Google.
Tambahkan kode berikut ke dalam berkas GoogleLogin.php
:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class GoogleLogin extends CI_Controller { public function __construct() { parent::__construct(); $this->load->library('oauth2'); } public function index() { $this->load->view('google_login_view'); } }
Selanjutnya, buat berkas view dengan nama google_login_view.php
dalam direktori application/views
dan tambahkan kode berikut:
<!DOCTYPE html> <html> <head> <title>Login with Google</title> </head> <body> <h1>Login with Google</h1> <a href="<?php echo base_url('googlelogin/login'); ?>">Login with Google</a> </body> </html>
Langkah 3: Membuat Fungsi Login
Selanjutnya, Anda perlu membuat fungsi login dengan Google dalam controller GoogleLogin.php
. Berikut adalah langkah-langkahnya:
Tambahkan fungsi login
ke dalam controller GoogleLogin.php
:
public function login() { $google_login_url = $this->oauth2->createAuthUrl(); redirect($google_login_url); }
Sekarang, saat pengguna mengklik tombol “Login with Google” pada halaman login, mereka akan diarahkan ke layanan login Google.
Langkah 4: Menangani Callback dari Google
Setelah pengguna berhasil login dengan Google, mereka akan diarahkan kembali ke aplikasi Anda. Anda perlu menangani callback ini dengan membuat fungsi callback dalam controller GoogleLogin.php
. Berikut adalah langkah-langkahnya:
Tambahkan fungsi callback
ke dalam controller GoogleLogin.php
:
public function callback() { $google_user = $this->oauth2->getUserInfo(); // Handle the user data returned by Google here }
Sekarang, Anda dapat mengakses data pengguna yang berhasil login dari $google_user
dan menyimpannya ke dalam database atau melakukan tindakan lain sesuai dengan kebutuhan Anda.
Kesimpulan
Dengan mengikuti langkah-langkah di atas, Anda dapat membuat fitur “Login with Google” di aplikasi web CodeIgniter 3 Anda. Ini akan mempermudah pengguna untuk login ke aplikasi Anda dengan menggunakan akun Google mereka, meningkatkan kenyamanan dan keamanan login.
Pastikan untuk mengamankan kredensial API OAuth 2.0 Anda dengan baik dan mengikuti praktik pengembangan yang aman. Semoga tutorial ini membantu Anda dalam mengimplementasikan fitur ini dalam proyek CodeIgniter Anda.