Latihan 1 dari materi Autentikasi & JWT di Node.js — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Buat autentikasi sederhana: cari akunnya, lalu kembalikan token atau pesan error.
Kode awal sudah punya array users (Budi: id 1, [email protected], pass123; Siti: id 2, [email protected], pass456), generateToken(userId) yang mengembalikan "token-" + userId (jadi id 99 menghasilkan token-99), dan tiga baris di bawah yang mencetak hasil tiga login. Semuanya biarkan.
Lengkapi login(email, password):
- Cari user yang email dan password-nya sama-sama cocok, misalnya
users.find((u) => u.email === email && u.password === password).
- Kalau ketemu, kembalikan
{ success: true, token: generateToken(user.id) }.
- Kalau gak ketemu, kembalikan
{ success: false, error: "Email atau password salah" }, tanpa token.
Output yang diharapkan:
Login [email protected]: token-1
Login [email protected]: token-2
Login gagal: Email atau password salah
Yang dinilai: tiga baris itu ada di output, login benar-benar mencari di users dan membandingkan password-nya, login("[email protected]", "pass456").token adalah token-2, login dengan password yang salah mengembalikan success false dan gak ada token, dan generateToken(99) tetap token-99.
Password teks biasa di sini cuma untuk latihan; aplikasi sungguhan menyimpan dan mencocokkan hash bcrypt.