FluentStack

Auth Concepts

Mode tersedia: dark, light, paper
MasukDaftar
Advanced · Level 18: Backend Basics for Frontend EngineersAdvanced55 menitBahasa Indonesia

Auth Concepts

Membedakan identity, authentication, session, dan authorization agar UI tidak dianggap sebagai penjaga akses satu-satunya.

StatusMemuat progres
ProgresMemuat...

...

Memuat progres

Menyiapkan langkah berikutnya

Tujuan belajar

  • Membedakan identity, authentication, session, dan authorization
  • Menjelaskan peran browser, auth provider, application server, dan database pada flow sederhana
  • Memahami bahwa UI navigation bukan bukti akses data sudah aman
  • Menentukan symptom frontend yang perlu disertakan saat melaporkan auth issue
AuthenticationAuthorizationSessionsFrontend Security

Isi lesson

5 blok
  1. 1.
    Masuk, diingat, dan diizinkan adalah tiga hal berbedaBelum selesaiWajib
  2. 2.
    Flow auth sederhana dari sudut frontendBelum selesaiWajib
  3. 3.
    Cek pemahamanBelum selesaiWajib
  4. 4.
    Jangan menjadikan UI sebagai security boundaryBelum selesaiWajib
  5. 5.
    RingkasanBelum selesaiWajib

Masuk, diingat, dan diizinkan adalah tiga hal berbeda

Wajib

Authentication menjawab siapa user ini dengan memeriksa credential atau authenticator. Session management memungkinkan server mengenali keadaan user itu pada request berikutnya. Authorization menjawab apakah identity tersebut boleh membaca route, menjalankan action, atau mengakses row data tertentu. UI yang menyembunyikan button admin dapat membantu experience, tetapi tidak menggantikan authorization server atau database.

Bayangkan learner berhasil login. Server atau auth provider memverifikasi identity, membuat atau memperbarui session, lalu browser mengirim bukti session pada request berikutnya sesuai contract. Saat learner membuka dashboard, server tetap memeriksa identity dan permission sebelum mengirim data. Frontend menampilkan loading, signed-in state, access denied, atau sign-in recovery, tetapi tidak boleh memutuskan sendiri bahwa role admin hanya dari value yang bisa diubah browser.

Bagian ini memengaruhi progres lesson.

Flow auth sederhana dari sudut frontend

Wajib
bash
1. User mengirim credential ke endpoint login melalui HTTPS.
2. Server atau provider memverifikasi identity.
3. Server membuat atau memperbarui session sesuai auth contract.
4. Browser membawa bukti session pada request berikutnya bila aturan cookie atau token mengizinkan.
5. Server memeriksa identity dan authorization sebelum mengirim data.
6. Frontend menerjemahkan hasil menjadi UI signed-in, access denied, atau sign-in recovery.

Frontend perlu memahami alur untuk membaca symptom secara benar. Login berhasil tetapi API berikutnya 403 adalah authorization issue atau policy issue, bukan bukti login form rusak. Dashboard yang masih tampil signed out setelah login dapat berkaitan dengan session cookie, callback URL, cache, atau state client. Jangan memperbaiki dengan menyimpan password atau secret di localStorage.

Bagian ini memengaruhi progres lesson.

Cek pemahaman

WajibJawab dulu

Cek pemahaman singkat

Manakah contoh authorization, bukan authentication?

Progres lesson naik setelah jawaban benar.

Peringatan

Wajib

Jangan menjadikan UI sebagai security boundary

Menyembunyikan route, button, atau menu bukan enforcement akses. User dapat mengubah URL atau membuat request sendiri. Frontend bertanggung jawab membuat state akses jelas bagi user; server, provider, dan database bertanggung jawab memverifikasi identity serta authorization pada boundary yang dapat dipercaya.

Bagian ini memengaruhi progres lesson.

Ringkasan

Wajib
  • Authentication membuktikan identity; authorization memeriksa permission.
  • Session membantu server mengenali identity pada request berikutnya.
  • UI membantu experience tetapi tidak menjadi penjaga data atau role.
  • Auth issue perlu dilaporkan dengan endpoint, status, symptom UI, dan waktu kejadian.
  • Berikutnya, kita melihat cookie sebagai salah satu mekanisme browser membawa state session.

Bagian ini memengaruhi progres lesson.

Langkah berikutnya

Selesaikan bagian penting lesson ini

Lanjutkan blok wajib berikutnya: Masuk, diingat, dan diizinkan adalah tiga hal berbeda.