Latihan 1: Device & Session Management — Auth

Latihan 1 dari materi Device & Session Management di Auth — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Implementasikan createSessionManager() yang mengembalikan object dengan empat method:

  1. create(userId, deviceName, ip) — Buat session baru dengan field: id ("sess_" + userId + "_" + index), userId, deviceName, ip, lastActive (Date.now()), revoked: false
  2. getSessions(userId) — Return array session milik user yang belum di-revoke (revoked === false)
  3. revoke(sessionId) — Tandai session sebagai revoked: true, return true jika ditemukan, false jika tidak
  4. revokeAllExcept(userId, keepSessionId) — Revoke semua session user kecuali session dengan id keepSessionId

Hint