Back to blog
Security

Authentication vs Authorization: Jangan Sampai Tertukar!

Dua kata yang berawalan 'Auth' ini sering dipakai bergantian, padahal maknanya sangat jauh berbeda dalam keamanan aplikasi web.

super admin·16 Juni 2026·2 min read
Authentication vs Authorization: Jangan Sampai Tertukar!
Article Content

Analogi Petugas Bandara dan Tiket Pesawat

Saat kamu membuat fitur Login, kamu sebenarnya sedang membangun dua lapisan keamanan: Authentication (Autentikasi) dan Authorization (Otorisasi). Jika kamu tertukar memahami konsep ini, aplikasimu bisa sangat rentan diretas.

Lapisan 1: Authentication (Siapa Kamu?)

Authentication adalah proses sistem memverifikasi Identitas kamu. Intinya, sistem bertanya: "Apakah kamu benar-benar orang yang kamu klaim? Buktikan!"

  • Analogi: Ini seperti saat kamu di bandara dan petugas meminta KTP/Paspor untuk memastikan wajahmu sama dengan foto di dokumen tersebut.
  • Contoh Implementasi IT: Memasukkan Email dan Password, menggunakan sidik jari (Biometrik), Face ID, atau memasukkan kode OTP dari SMS.
  • Jika berhasil, kamu "Diakui" oleh sistem.

Lapisan 2: Authorization (Apa yang Boleh Kamu Lakukan?)

Setelah kamu berhasil masuk (Authenticated), sistem akan memeriksa hak aksesmu. Authorization adalah proses memverifikasi Izin atau Hak Akses (Permissions). Sistem bertanya: "Oke, aku tahu kamu Budi. Tapi apakah kamu punya hak untuk menghapus data ini?"

  • Analogi: Paspor kamu sudah divalidasi, sekarang petugas mengecek Tiket Pesawatmu. Paspor membuktikan siapa kamu, tapi tiketmu menentukan kamu boleh masuk ke pesawat Kelas Ekonomi, atau Kelas Bisnis. Kamu tidak boleh sembarangan masuk ke kokpit pilot.
  • Contoh Implementasi IT: Fitur Role-Based Access Control (RBAC). Misalnya, Budi login sebagai "User Biasa" (hanya bisa membaca artikel), sedangkan Siti login sebagai "Admin" (bisa mengedit dan menghapus artikel).

Kenapa Perbedaan Ini Penting?

Banyak developer pemula hanya membuat fitur Authentication (Login). Setelah user berhasil masuk, mereka menyembunyikan tombol "Hapus Artikel" menggunakan CSS atau React State biasa agar tidak terlihat oleh User biasa.

Masalahnya, hacker bisa dengan mudah "memanggil" fungsi hapus API ke server secara langsung (bypass UI). Jika Backend tidak mengecek Authorization (apakah user ini Admin?), maka data tersebut akan terhapus!

Kesimpulan

Authentication selalu terjadi lebih dulu (Login). Setelah itu, Authorization akan terus bekerja di setiap klik yang kamu lakukan (Mengecek role: Admin/User). Pastikan Backend-mu selalu mengecek lapis kedua ini setiap kali menerima request yang mengubah data database.

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates