Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Daftar Isi:
Membangun API dengan Node.js yang mendukung pengguna multi-level bisa menjadi tantangan tersendiri. Di sini, kita akan membahas langkah-langkah sederhana untuk membuat sistem tersebut.
Pengguna multi-level berarti setiap pengguna memiliki tingkatan hak akses yang berbeda. Misalnya, admin bisa memiliki semua akses, sementara pengguna biasa hanya bisa membaca data.
Langkah pertama adalah menentukan struktur data yang mendukung sistem multi-level. Kamu bisa menggunakan struktur JSON seperti berikut:
{
"users": [
{
"id": 1,
"username": "admin",
"role": "admin"
},
{
"id": 2,
"username": "user",
"role": "user"
}
]
}
Data ini bisa disimpan dalam database atau dalam file JSON tergantung skala proyekmu.
Middleware adalah bagian penting untuk mengatur hak akses pengguna. Kamu bisa membuat middleware untuk memeriksa peran setiap pengguna sebelum mereka dapat mengakses endpoint tertentu.
Berikut adalah contoh middleware sederhana:
function checkRole(requiredRole) {
return function (req, res, next) {
if (req.user && req.user.role === requiredRole) {
next();
} else {
res.status(403).send('Access denied.');
}
};
}
Gunakan middleware ini pada rute yang membutuhkan peran tertentu:
app.get('/admin', checkRole('admin'), (req, res) => {
res.send('Hallo Admin!');
});
Untuk mendukung sistem ini, pertama-tama kita harus memiliki mekanisme autentikasi. Ini biasanya melibatkan penggunaan token JWT untuk menjaga sesi pengguna.
Instal JSON Web Token dengan npm:
npm install jsonwebtoken
Kemudian, lakukan verifikasi token di middleware autentikasi:
function authenticateToken(req, res, next) {
const token = req.headers['authorization'];
if (!token) return res.sendStatus(401);
jwt.verify(token, process.env.ACCESS_TOKEN_SECRET, (err, user) => {
if (err) return res.sendStatus(403);
req.user = user;
next();
});
}
Dengan autentikasi ini, kamu bisa memastikan hanya pengguna yang sah yang dapat mengakses API.
Dengan mengikuti langkah-langkah ini, kamu bisa membuat API Node.js yang mendukung pengguna multi-level dengan lebih mudah. Selamat mencoba!
Link terkait: