Latihan 1: Autentikasi & JWT — Node.js

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):

  1. Cari user yang email dan password-nya sama-sama cocok, misalnya users.find((u) => u.email === email && u.password === password).
  2. Kalau ketemu, kembalikan { success: true, token: generateToken(user.id) }.
  3. 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.

Hint