Zentara Corev0.8.6 GitHubnpm

Auth

Login, role, dan password yang aman.

Auth sudah tersedia di core. Password di-hash dengan scrypt (parameter OWASP), dan sesi memakai session terenkripsi.

import { hashPassword, verifyPassword, fakeVerify, login, logout, currentUser, requireAuth, rateLimit, withMiddleware } from "zentara";

login(ctx, { id: user.id, role: user.role });   // setelah password cocok
logout(ctx);

export const middleware = [requireAuth()];                      // seluruh file route wajib login
export const POST = withMiddleware([requireAuth({ roles: ["admin"] })], handler);  // satu method saja
export const middleware = [rateLimit({ windowMs: 15 * 60_000, max: 10 })];         // anti brute-force

requireAuth({ loadUser }) memuat user terbaru dari database di setiap request. Akibatnya:

Aplikasi contoh sudah menyediakan fitur-fitur berikut:

Endpoint Akses
POST /api/auth/register · POST /api/auth/login · POST /api/auth/logout publik (rate limit 10×/15 menit)
GET /api/auth/me wajib login
GET /api/products?q=&maxHarga= · GET /api/products/:id publik
POST /api/products · PUT/DELETE /api/products/:id khusus admin

Pengaman bawaan pada login:

Perbaiki halaman ini di GitHub