Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

MULTI-LEVEL USER DI API NODE.JS

Panduan sederhana untuk mengimplementasikan sistem pengguna multi-level pada API Node.js menggunakan pendekatan dasar yang mudah dipahami.

Daftar Isi:

Konsep Pengguna Multi-Level
Implementasi Middleware
Penerapan Autentikasi

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.

Konsep Pengguna Multi-Level

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.

Struktur 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.

Implementasi Middleware

Middleware adalah bagian penting untuk mengatur hak akses pengguna. Kamu bisa membuat middleware untuk memeriksa peran setiap pengguna sebelum mereka dapat mengakses endpoint tertentu.

Contoh Kode Middleware

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!');
});

Penerapan Autentikasi

Untuk mendukung sistem ini, pertama-tama kita harus memiliki mekanisme autentikasi. Ini biasanya melibatkan penggunaan token JWT untuk menjaga sesi pengguna.

Contoh Penerapan JWT

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!


Daftar newsletter skodev masukkan emailmu untuk dapat informasi menarik dari dunia koding