Skip to content
DOCUMENTATION / BACKEND

Sessions & authentication.

Primitive session dan password untuk alur login aplikasi.

PHP 8.2+No buildDL 0.2 alpha

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(...)]);

Icons: Solar by 480 Design (CC BY 4.0) & Iconsax (MIT). PHP UI adapted from Coordiation. Logo: DesignLof.