Menu
CoddyTech

Pencarian Sesi

Termasuk bagian Autentikasi dan Keamanan dalam perjalanan Node.js di Coddy. Pelajaran 9 dari 24.

id sesi menunjuk ke sesi yang tersimpan, dan sesi itu menunjuk ke sebuah akun. Kuncinya sendiri bukan nama pengguna. Telusuri kedua tautan sebelum menentukan siapa yang membuat permintaan.

// tickets: {key: 'example-key', memberId: 7}
const ticket = tickets.find(t => t.key === receivedKey);
const member = ticket && members.find(m => m.id === ticket.memberId);

Jangan kembalikan pengguna jika salah satu pencarian tidak menemukan hasil. id sesi sungguhan berupa nilai acak yang panjang sehingga orang lain tidak dapat menebaknya. Kunci pendek di sini memudahkan pemeriksaan hubungan tersebut. Proyek berikut menggunakan koleksi MongoDB dan findOne untuk kedua pencarian ini, bukan array.

challenge icon

Tantangan

Mudah

Di exercise.js, gunakan array sessions dan users yang disediakan. Temukan sesi untuk sid, lalu pengguna yang id-nya cocok dengan userId-nya. Kembalikan username di user, atau null jika salah satu pencarian gagal.

Coba GET /result?sid=key-a: {"user":"ada"}. Username seperti ?sid=ada tidak membuktikan apa pun dan akan mengembalikan null. ?sid=orphan juga mengembalikan null karena akunnya tidak ada.

Coba sendiri

const sessions = [
    { id: 'key-a', userId: 10 },
    { id: 'key-b', userId: 20 },
    { id: 'orphan', userId: 99 },
];
const users = [
    { id: 10, username: 'ada' },
    { id: 20, username: 'bo' },
];
export function exercise({ sid }) {
    return { user: sid };
}

Semua pelajaran di Autentikasi dan Keamanan

Latihan sendiri: Playground Express