This post is also available in:
English
Hallo apa kabar teman semuanya, Kali ini kita tidak akan membuat kode pemrograman, akan tetapi kita akan membahas alur kerja dari proses login dan register dengan JWT.
Kalian dapat peraktik langsung di tutorial ini:
REST API Login dan Register Node.js dengan JWT
REST API Login & Register Dengan Sanctum Laravel
Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication
Token Based Authentication
Ketika kita menggunakan dengan Session-based Authentication bahwa itu akan menyimpan session dalam cookie, keuntungan besar dari Otentikasi berbasis Token adalah kami menyimpan JSON Web Token (JWT) di sisi Klien. perhatikan gambar di bawah ini:

- User akan melakukan login dengan memasukkan username dan password pada server.
- Maka server akan membuat JWT berupa kode token.
- Maka user akan menerima kode token.
- Dan ketika Authenticate mengirimkan request JWT di dalam header.
- Server akan memvalidasi JWT yang di kirimkan.
- Dan user akan mendapatkan response JWT.
Ada tiga bagian penting dari JWT: Header, Payload, Signature. Bersama-sama mereka digabungkan ke struktur standar: header.payload.signature.
Klien biasanya melampirkan JWT di header Otorisasi dengan awalan Bearer:
Otorisasi: Pembawa [header].[payload].[signature]
Atau di header x-access-token:
x-access-token: [header].[payload].[signature]
Atau Cookie:
[nama]=[header].[payload].[signature]; Jalur=/; Hanya Http;
Contoh Login Node.JS Espress
Di sini saya akan berikan beberapa method yang biasa digunakan untuk proses login dan register.
Methods | Urls | Actions |
---|---|---|
POST | /api/auth/signup | signup new account |
POST | /api/auth/signin | login an account |
POST | /api/auth/signout | logout the account |
GET | /api/test/all | retrieve public content |
GET | /api/test/user | access User’s content |
GET | /api/test/mod | access Moderator’s content |
GET | /api/test/admin | access Admin’s content |
Alur Login dan Register Dengan JWT

Setiap kali user malkukan login maka akan membuat kode JWT. JWT legal harus disimpan dalam Cookie jika Klien mengakses sumber daya yang dilindungi.
Anda perlu mengimplementasikan Refresh Token:

JWT akan selalu melakukan validasi kepada token yang di kirimkan, dan ketika token telah kadaluarsa maka JWT akan membuatkan token yang baru.
Artsitektur Login Node.JS Express
Kalian dapat memiliki ikhtisar Aplikasi Node.js Express kami dengan diagram di bawah ini:

Melalui rute Express, permintaan HTTP yang cocok dengan rute akan diperiksa oleh CORS Middleware sebelum masuk ke lapisan Keamanan.
Lapisan keamanan meliputi:
Middleware Otentikasi JWT: verifikasi Pendaftaran, verifikasi token
Otorisasi Middleware: periksa peran Pengguna dengan catatan di database
Jika middlewares ini menimbulkan kesalahan, pesan akan dikirim sebagai respons HTTP.
Pengontrol berinteraksi dengan Database MySQL melalui Sequelize dan mengirim respons HTTP (token, informasi pengguna, data berdasarkan peran …) ke klien.
Demikian pembahasan kali ini, semoga bermanfaat.
Terimakasih.
Sumber: https://www.bezkoder.com/node-js-express-login-example/