Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

Token JWT

JSON Web Token (JWT) menyediakan metode yang aman untuk mengirimkan informasi antar pihak sebagai objek JSON.

Struktur JWT

Sebuah JWT terdiri dari tiga bagian yang dipisahkan oleh titik:

header.payload.signature
{
"alg": "HS256",
"typ": "JWT"
}

Payload

{
"sub": "1234567890",
"email": "[email protected]",
"iat": 1516239022,
"exp": 1516242622
}

Signature

Signature dibuat menggunakan:

HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)

Membuat token JWT

Contoh Node.js

const jwt = require('jsonwebtoken');
const payload = {
userId: '12345',
scope: ['email', 'contacts']
};
const token = jwt.sign(payload, process.env.JWT_SECRET, {
expiresIn: '1h',
issuer: 'your-app',
audience: 'brevo-api'
});

Contoh Python

import jwt
import datetime
payload = {
'user_id': '12345',
'email': '[email protected]',
'exp': datetime.datetime.utcnow() + datetime.timedelta(hours=1),
'iat': datetime.datetime.utcnow()
}
token = jwt.encode(payload, 'your-secret-key', algorithm='HS256')

Menggunakan JWT dengan Brevo API

Terminal window
curl -X GET "https://api.brevo.com/v3/account" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Accept: application/json"

Validasi token

const validateToken = (token) => {
try {
const decoded = jwt.verify(token, process.env.JWT_SECRET);
return { valid: true, payload: decoded };
} catch (error) {
return { valid: false, error: error.message };
}
};

Praktik terbaik

  • Gunakan secret yang kuat dan acak
  • Tetapkan waktu kedaluwarsa yang sesuai
  • Validasi token pada setiap permintaan
  • Gunakan HTTPS saja
  • Simpan secret dengan aman
  • Terapkan logika penyegaran token

Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.

Halaman ini sebagai Markdown: jwt-tokens.md

Memuat Markdown…
Buka di Claude Buka di ChatGPT