Materi 15 - Programming dan Data Science

Authentication dan Security

Login, JWT, password hashing, OWASP top 10. Wajib untuk aplikasi production.

Durasi 30 Menit Level intermediate Kurikulum 30 Materi

1. Authentication vs Authorization

Authentication adalah verifikasi identitas (siapa kamu). Authorization adalah pengecekan permission (apa yang boleh kamu lakukan). Kedua konsep berbeda, sering ditertukarkan.

2. Password Hashing

Jangan simpan password plain text. Pakai bcrypt, argon2, atau scrypt. Salt unique per user. Tahan brute force. Hash ngga reversible. Jangan pernah pakai MD5 atau SHA1 untuk password.

3. JWT untuk Stateless Auth

JSON Web Token. Server kirim token saat login, client simpan dan kirim di setiap request. Bisa di-decode tapi ngga bisa diubah tanpa secret. Cocok untuk API stateless.

4. OAuth dan Social Login

Login dengan Google, GitHub, Facebook. Pakai protokol OAuth 2.0. User experience bagus, tidak perlu daftar baru. Tapi handle case ketika provider down dengan fallback.

5. OWASP Top 10

Daftar 10 vulnerability terburuk: SQL injection, XSS, broken auth, sensitive data exposure, broken access control, security misconfig, dst. Pelajari dan hindari semua di production code.

Tugas Praktik

  1. Implementasi register dan login dengan password hashing
  2. Setup JWT untuk authentication
  3. Tambah middleware untuk protect route
  4. Implementasi role-based authorization
  5. Audit aplikasi dengan checklist OWASP Top 10

Rangkuman