JWTUtils adalah library ringan untuk membuat JSON Web Token (JWT) menggunakan algoritma HS256, dirancang khusus untuk platform berbasis Arduino seperti ESP32 dan ESP8266.
Library ini memungkinkan Anda untuk membuat token JWT secara langsung pada mikrokontroler, sangat berguna untuk kebutuhan autentikasi saat mengakses API atau layanan IoT secara aman.
- 🔒 Pembuatan JWT dengan algoritma HMAC-SHA256
- 📦 Dukungan Base64URL encoding (kompatibel dengan spesifikasi JWT)
- 💡 Implementasi sederhana, cocok untuk perangkat dengan resource terbatas
- ⚙️ Cocok untuk komunikasi IoT yang aman
Library ini menggunakan pustaka berikut (biasanya sudah tersedia di ESP32/ESP8266 Arduino Core):
mbedtls– untuk HMAC SHA-256base64.h– untuk encoding Base64Arduino.h– pustaka dasar Arduino
JWTUtils/
├── JWTUtils.h # Deklarasi kelas utama
├── JWTUtils.cpp # Implementasi fungsi-fungsi JWT
├── basicjwt.ino # Contoh penggunaan
└── library.properties # Metadata library Arduino
- Unduh atau clone repository ini.
- Salin folder
JWTUtilske dalam direktorilibraries/milik Arduino Anda. - Di sketch Arduino Anda, sertakan library ini:
#include <JWTUtils.h>
Contoh sederhana menggunakan library ini:
#include <JWTUtils.h>
void setup() {
Serial.begin(115200);
String secretKey = "your-256-bit-secret";
String payload = "encrypted-data-here";
String jwt = JWTUtils::createJWT(payload, secretKey);
Serial.println("Generated JWT:");
Serial.println(jwt);
}
void loop() {}-
Header JWT ditetapkan sebagai berikut:
{"alg":"HS256","typ":"JWT"} -
Payload dapat berupa string JSON atau data terenkripsi.
-
Library akan:
- Melakukan Base64URL encoding terhadap header dan payload.
- Menghasilkan signature menggunakan HMAC-SHA256.
- Menggabungkan semuanya menjadi format JWT:
base64url(header) + "." + base64url(payload) + "." + base64url(signature)
Library ini diuji pada:
- ✅ ESP32
- ✅ ESP8266
Akan bekerja pada semua board yang mendukung mbedtls dan base64.
MIT License — gratis digunakan, dimodifikasi, dan didistribusikan.
name=JWTUtils
version=1.0.0
author=MisredIoT
maintainer=**
sentence=Library for JWT token generation
paragraph=Supports HS256 algorithm for JWT generation
category=Data Processing
url=https://github.com/yourusername/JWTUtils
architectures=esp32,esp8266
- Author: MisredIoT
- Maintainer:
- 🔗 JWT Official Site: https://jwt.io