Skip to content

Authentication Guide ​

Panduan menggunakan sistem authentication di aplikasi.

🔐 Metode Login ​

Aplikasi mendukung 2 metode login:

  1. Email/Password - Register dengan email dan password
  2. Google OAuth - Login dengan satu klik menggunakan Google

📧 Email/Password Auth ​

Register ​

  1. Buka /register
  2. Isi form:
    • Name (min 2 characters)
    • Email (valid format)
    • Password (min 8, 1 uppercase, 1 number)
  3. Submit
  4. Check email untuk verification link
  5. Click link verifikasi
  6. Login di /login

Password Requirements ​

  • Minimum 8 characters
  • At least 1 uppercase letter
  • At least 1 number
  • Contoh valid: MyP@ssw0rd

Forgot Password ​

  1. Klik "Forgot password?" di halaman login
  2. Masukkan email
  3. Check email untuk reset link
  4. Klik link dan masukkan password baru
  5. Login dengan password baru

Email Verification ​

Kenapa perlu verifikasi?

  • ✅ Mencegah spam accounts
  • ✅ Memastikan email valid
  • ✅ Bisa reset password

Resend Verification:

  1. Login (jika email belum verified, akan diarahkan)
  2. Klik "Resend verification email"
  3. Check inbox/spam

🔵 Google OAuth ​

Login dengan Google ​

  1. Buka /login
  2. Klik "Continue with Google"
  3. Pilih akun Google
  4. Otomatis login dan redirect ke dashboard

Keuntungan:

  • ⚡ Cepat - tidak perlu isi form
  • 🔒 Aman - powered by Google security
  • 📧 Otomatis verified - Google sudah verifikasi email

Jika Anda sudah punya account dengan email yang sama:

  1. Login dengan Google
  2. Sistem akan link Google ke account existing
  3. Next time bisa login dengan Google atau password

🛡️ Security Features ​

Password Hashing ​

  • Algorithm: PBKDF2 (industry standard)
  • Salt: Random 16 bytes
  • Iterations: 100,000
  • Hash stored: salt + derived key

Session Management ​

  • HTTP-only cookies (tidak bisa diakses JavaScript)
  • Secure flag (HTTPS only)
  • Auto-expire (configurable)
  • Refresh mechanism

Rate Limiting ​

  • Email verification: 1 menit interval
  • Login attempts: Cloudflare protection
  • Reset password: 1 token active per user

🐛 Troubleshooting Auth ​

MasalahSolusi
"Email already registered"Gunakan email lain atau login
"Invalid email or password"Check caps lock, atau reset password
"Email not verified"Check inbox/spam untuk verification email
"Please use Google login"Email ini dibuat via OAuth, login dengan Google
Token expiredMinta reset password baru

📁 Files Terkait ​

src/
├── lib/
│   └── auth/
│       ├── lucia.ts          # Session management
│       ├── google.ts         # Google OAuth
│       └── password.ts       # Password hashing
└── routes/
    ├── login/
    ├── register/
    ├── forgot-password/
    ├── reset-password/
    └── auth/
        ├── login/
        ├── register/
        ├── google/
        └── verify-email/

📖 Lanjutan ​

SvelteKit Cloudflare Starter - Build Fast, Deploy Everywhere 🚀