DOCUMENTATION / BACKEND
Sessions & authentication.
Primitive session dan password untuk alur login aplikasi.
Yang disediakan
Auth menyediakan hash, verify, login, logout, id dan middleware protect. Registrasi, reset password, verifikasi email, role, throttling dan login UI harus dibangun aplikasi.
Login setelah kredensial valid
Contoh ini adalah bagian dari handler POST setelah validasi input, pencarian user dan pembatasan percobaan oleh aplikasi.
PHP
$valid = $user && DL\Auth::verify($password, $user['password_hash']);
if (!$valid) throw new DL\HttpException(401, 'Invalid credentials.');
DL\Auth::login((int) $user['id']);
return DL\Response::redirect(url('/account'));Session lifecycle
Login merotasi session ID dan token CSRF. Logout mengosongkan session dan merotasi ID. Gunakan POST dengan CSRF untuk logout, bukan GET.
Lindungi route
protect hanya memeriksa apakah user sudah login. Pemeriksaan kepemilikan data dan role tetap tanggung jawab aplikasi.
PHP
$router->get('/account', fn() => DL\Response::json(['id'=>DL\Auth::id()]), [DL\Auth::protect(...)]);