Menambahkan JWT Verifikasi node js

From DocsMaulana

# Menambahkan JWT Verifikasi node js[edit | edit source]

Tutorial ini menjelaskan cara menambahkan middleware jwt verifikasi di node js

## Prasyarat[edit | edit source]

  1. Sebelum memulai, pastikan Anda telah menginstal Node.js dan npm di sistem Anda.
  2. Pastikan server sso laravel telah berjalan
  3. Pastikan telah berhasil mengimplementasikan login sso client

## Langkah-langkah[edit | edit source]

### 1. Instal Dependensi[edit | edit source]

Pertama, pastikan untuk menginstal semua dependensi yang diperlukan dengan menjalankan perintah berikut di terminal:

    npm install jsonwebtoken

### 2. Buat Aplikasi Node.js[edit | edit source]

Buatlah file JavaScript untuk middleware verifikasi, misalnya `verify.js`.

### 3. Konfigurasi Middleware[edit | edit source]

Tambahkan kode berikut ke dalam file `verify.js` Anda:

        const  jwt  =  require('jsonwebtoken');

        const  fs  =  require('fs');

        // Mendapatkan kunci publik dari file (dalam kasus ini, file berisi kunci publik dalam format PEM)

        const  publicKey  =  fs.readFileSync('oauth-public.key', 'utf8');

       

        // Fungsi middleware untuk verifikasi token JWT

        function  verifyToken(req, res, next) {

        // Mendapatkan token dari header permintaan

        const  token  =  req.session.accessToken;

        // Memeriksa apakah token tersedia

        if (token  ==  undefined) {

        return  res.status(401).json({

        status :  false,

        message:  'silahkan login terlebih dahulu',

    });

}

// Melakukan verifikasi token

jwt.verify(token, publicKey, function(err, decoded) {

if (err) {

return  res.status(403).json({

status :  false,

message:  'Token tidak valid.',

error :  err

});

}

req.user  =  decoded; // Menyimpan informasi pengguna dari token di objek permintaan

next(); // Lanjutkan ke middleware atau pengendali berikutnya

});

}

module.exports  =  verifyToken;

### 4. Menambahkan Middleware ke route Tambahkan middleware kedalam route:

    app.use('/protected',verifyToken)

    app.get('/protected/getuser',(req,res)=>{

    res.send(req.user)

    })

### 6. Menjalankan Aplikasi

Terakhir, jalankan aplikasi Node.js Anda dengan menjalankan perintah berikut di terminal:

    node app.js