Authentication VS Authorization


Definisi dari KBBI daring:

Definisi autentikasi

Kalau di pemrograman atau sebuah sistem, autentikasi itu mengacu ke metode sebuah sistem mengenali aktor yang melakukan sebuah aksi. Aktor ini bisa user manusia kayak kita-kita, bisa juga mesin, robot, atau sistem lain. Biasanya cara paling umum sebuah sistem mengenali usernya adalah dengan fitur login. Contoh alurnya:

  1. User masukin email & password
  2. Sistem mencocokkan dengan record di database
  3. Jika ada record yang cocok (misal dapet ID-nya 3), maka sistem akan menandai/mengasosiasikan bahwa aktor yang melakukan aksi login ini adalah user dengan ID 3 (sesuai record yang didapatkan)
  4. Atau jika tidak ada record yang cocok, maka sistem tidak bisa mengenali siapa aktor yang melakukan aksi login ini. Biasanya dianggap sebagai guest atau anonymous user.  

Bagaimana dengan authorization?

Definisi autentikasi

Tak jauh beda dari definisi di KBBI, otorisasi itu pemberian kuasa atau hak kepada suatu aktor untuk melakukan sebuah aksi dalam sistem. Apakah aktor tersebut bisa login, register, lihat home page, posting komentar, unggah foto, unduh lampiran, hapus gambar yang diunggah dirinya sendiri atau orang lain, dll. Istilah yang umum digunakan di dunia koding untuk implementasi konsep ini, yaitu permission.

Hubungan antara autentikasi & otorisasi ini sangat erat, udah kayak spongebob sama patrick gitu lah. Saling melengkapi. Contohnya gini:

  1. Kita sebagai guest/anonymous user buka sebuah website, misal menit dot com. -> autentikasi
  2. Pas server nerima request dari browser kita untuk buka halaman depan (home), dilakukan pengecekan apakah aksi ini boleh dilakukan oleh guest -> otorisasi
  3. Eh ada konten menarik nih, kita terpelatuk mau komen, klik deh tombolnya. Eh, sistem menolak aksi ini dilakukan guest, cuma bisa sama logged in user -> otorisasi
  4. Ya udah kita login dulu, sistem ngeset session & cookies buat nandain kita ini user yg tercatat udah login. -> autentikasi
  5. Akhirnya bisa input komen, terus submit. Sistem udah ngenalin kita sebagai logged in user, jadi boleh posting komentar deh. Tada! -> otorisasi

Kurang lebih seperti itu perbedaan antara autentikasi dan otorisasi, serta hubungan keduanya. Kalau ada yang mau tanya atau komen, silakan.

comments powered by Disqus