Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Daftar Isi:
Saat membangun aplikasi berbasis API, salah satu aspek penting yang harus diperhatikan adalah otorisasi. Otorisasi memastikan bahwa hanya pengguna yang berhak yang dapat mengakses endpoint tertentu. Pada artikel ini, kita akan membahas cara membuat otorisasi endpoint di API Node.js.
Pertama-tama, pastikan kamu memiliki proyek Node.js yang sudah berjalan. Jika belum, kamu bisa membuat proyek baru dengan perintah:
npm init -y
npm install express jsonwebtoken
express
digunakan untuk membuat server, sedangkan jsonwebtoken
membantu dalam menangani token otorisasi.
Untuk mempermudah otorisasi, kita akan membuat middleware khusus. Middleware ini akan memeriksa apakah pengguna memiliki akses ke endpoint yang diminta.
Buat file, misalnya authMiddleware.js
, dan tambahkan kode berikut:
const jwt = require('jsonwebtoken');
function authMiddleware(req, res, next) {
const token = req.header('Authorization');
if (!token) return res.status(401).send('Akses ditolak. Token tidak disertakan.');
try {
const verified = jwt.verify(token, 'secretKey');
req.user = verified;
next();
} catch (error) {
res.status(400).send('Token tidak valid.');
}
}
module.exports = authMiddleware;
Integrasikan authMiddleware
ke rute yang perlu otorisasi di server express
kamu. Misalnya:
const express = require('express');
const authMiddleware = require('./authMiddleware');
const app = express();
app.get('/protected', authMiddleware, (req, res) => {
res.send('Selamat datang di area yang dilindungi!');
});
app.listen(3000, () => console.log('Server berjalan di port 3000'));
Kamu bisa membuat token JWT saat pengguna melakukan login atau mendaftar. Contoh:
const jwt = require('jsonwebtoken');
function login(req, res) {
// Verifikasi kredensial pengguna...
const token = jwt.sign({ _id: user._id }, 'secretKey', { expiresIn: '1h' });
res.send({ token });
}
Setelah mendapatkan token, pengguna perlu menyimpannya dan menyertakannya di header setiap permintaan API yang memerlukan otorisasi. Gunakan header Authorization
untuk ini.
Dengan langkah-langkah ini, kamu bisa mengamankan endpoint API menggunakan otorisasi berbasis token JWT. Memahami dan menerapkan otorisasi yang baik sangat penting dalam menjaga keamanan aplikasi kamu. Mulailah dengan mengimplementasikan contoh sederhana ini dan kembangkan sesuai dengan kebutuhan spesifik aplikasimu.
Link terkait: