Paket npm memang dibutuhkan dan tidak dapat dihindarkan penggunaanya terutama untuk proyek berskala besar tetapi tetap sebagai programer wajib tahu secara mendasar cara kerja dan konsepnya.
Sebagai contoh server HTPP dasar seperti berikut
import http from "node:http"
http.createServer((req, res) => {
res.statusCode = 200
res.end("http ok")
}).listen(3003, () => console.log("http server ok"))
Meskipun sekarang banyak tersedia framework siap pakai seperti Express, Fastify, Nest.js yang bisa menangani autentikasi, parsing form, menangani berkas uploas dll alias paket utuh untuk membangun aplikasi klien server akan tetapi akan lebih baik jika mengetahui cara kerja dari server HTTP secara mendasar tanpa bergantung pada framework.
Konsep Autentikasi Dasar
Auntentikasi Dasar (Basic Authentication) adalah jenis autentikasi paling sederhana yang mudah dipakai dan diimplementasikan.

Data autentikasi disematkan pada header request dan dalam perjalananya akan berbentuk seperti berikut
Basic ZXF1YW46cHJhbXVkaWE=
Username dan password akan di enkripsi memakai base64 sehingga dengan JavaScript data autentikasi tersebut akan dengan mudah di decode kembali
let auth = req.headers.authorization.split(" ")
if (auth[0] === "Basic") {
let decode = new Buffer.from(auth[1], "base64").toString('utf-8')
let sep = decode.indexOf(":")
console.log(`username:${decode.substr(0, sep)}`)
console.log(`password:${decode.substr(sep + 1)`)
}
Sebagai catatan Autentikasi Dasar tidaklah terlalu aman kecuali pada lingkungan HTTPS.
Testing
Gunakan tool testing seperti Postman untuk mengecek request dan response dari server HTTP

Autentikasi Login
Contoh sederhana dari login memakai autentikasi dasar bisa dilihat pada link Github.