Autentikasi menjawab siapa penggunanya; otorisasi menjawab apa yang boleh dilakukannya. Section ini membangun keduanya dari nol: password hashing yang benar, registrasi dan login, session-based authentication, remember-me, reset password, dan verifikasi email. Bagian lanjutan membahas role dan permission, token untuk API, gambaran OAuth2 dan OpenID Connect, multi-factor authentication, serta checklist keamanan autentikasi.

# Authentication vs Authorization

Pelajari perbedaan mendasar antara pembuktian identitas dan pemberian hak akses agar 401 dan 403 tidak pernah tertukar.

Buka →
# Password Hashing

Pelajari cara menyimpan kata sandi dengan password_hash dan password_verify agar database yang bocor tidak serta-merta membuka semua akun.

Buka →
# Registrasi Pengguna

Pelajari cara membangun alur registrasi yang aman mulai dari validasi email, aturan username, hashing password, hingga penanganan email duplikat.

Buka →
# Login dan Logout

Pelajari cara membangun alur login dan logout PHP: verifikasi password, pesan error generik, session, logout semua perangkat, hingga rate limiting.

Buka →
# Session-Based Authentication

Pelajari cara membangun autentikasi berbasis session: menyimpan user_id, resolusi current user, guard halaman privat, dan pencegahan session fixation.

Buka →
# Remember-Me

Pelajari cara mengintegrasikan token remember-me ke alur autentikasi: auto-login dari cookie, masa berlaku token, dan invalidasi saat password berubah.

Buka →
# Password Reset

Pelajari cara membangun alur reset password dengan token sekali pakai: permintaan, tautan email, verifikasi hash, jendela waktu, dan pencegahan user enumeration.

Buka →
# Email Verification

Pelajari cara membangun alur verifikasi email dengan token sekali pakai untuk memastikan alamat email benar-benar milik pengguna.

Buka →
# Role-Based Access Control

Pelajari cara menerapkan role-based access control untuk mengatur peran dan hak akses pengguna di aplikasi PHP.

Buka →
# Permission Modeling

Pelajari cara memodelkan permission sebagai satuan hak akses yang lebih halus dan fleksibel dibandingkan role.

Buka →
# API Token Authentication

Pelajari cara mengautentikasi klien API dengan personal access token yang di-hash, ber-scope, dan dapat dicabut.

Buka →
# OAuth2 dan OpenID Connect

Pelajari cara kerja OAuth2 dan OpenID Connect untuk login pihak ketiga dan delegasi akses tanpa mengelola sandi tambahan.

Buka →
# Multi-Factor Authentication

Pelajari cara menambah faktor kedua autentikasi dengan TOTP, kode cadangan, dan WebAuthn agar kata sandi yang dicuri tidak cukup untuk membuka akun.

Buka →
# Authentication Security

Pelajari checklist keamanan autentikasi lengkap: kebijakan kata sandi, rate limiting, pesan galat generik, anti-enumerasi, dan pencatatan peristiwa login.

Buka →