Membangun REST API CodeIgniter untuk login dan registrasi memungkinkan aplikasi mobile atau front-end modern (seperti React atau Vue) berkomunikasi dengan server Anda melalui pertukaran data JSON. Panduan ini menunjukkan konsep dasarnya dengan aman.
Apa Itu REST API?
REST API adalah cara aplikasi berkomunikasi lewat HTTP menggunakan format standar (biasanya JSON). Alih-alih menampilkan HTML, endpoint API mengembalikan data murni yang bisa diolah aplikasi lain.
Endpoint Registrasi
Saat registrasi, password wajib di-hash sebelum disimpan:
<?php
public function register_post() {
$data = array(
'email' => $this->post('email'),
'sandi' => password_hash($this->post('sandi'), PASSWORD_DEFAULT)
);
$this->db->insert('pengguna', $data);
$this->response(array('status' => true, 'pesan' => 'Registrasi berhasil'), 201);
}
?>
Endpoint Login
Saat login, verifikasi password dengan password_verify() lalu kembalikan token jika berhasil:
<?php
public function login_post() {
$user = $this->db->where('email', $this->post('email'))
->get('pengguna')->row();
if ($user && password_verify($this->post('sandi'), $user->sandi)) {
$this->response(array('status' => true, 'token' => 'token_rahasia'), 200);
} else {
$this->response(array('status' => false, 'pesan' => 'Login gagal'), 401);
}
}
?>
Memakai REST Controller Library
Untuk mempercepat pembuatan, gunakan pustaka REST Controller populer (dari chriskacerguis). Pustaka ini menyediakan method seperti $this->response() dan menangani format JSON serta kode status HTTP secara otomatis.
Kesimpulan
Saat membangun REST API CodeIgniter, selalu hash password, kembalikan kode status HTTP yang sesuai (200, 201, 401), dan lindungi endpoint dengan token. Ini fondasi untuk melayani aplikasi mobile atau SPA.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi CodeIgniter.

