ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

โทเคน JWT

JSON Web Token (JWT) เป็นวิธีที่ปลอดภัยในการส่งข้อมูลระหว่างสองฝ่ายในรูปแบบออบเจ็กต์ JSON

โครงสร้างของ JWT

JWT ประกอบด้วยสามส่วนที่คั่นด้วยจุด

header.payload.signature

ส่วนหัว

{
"alg": "HS256",
"typ": "JWT"
}

เพย์โหลด

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

ลายเซ็น

ลายเซ็นถูกสร้างขึ้นด้วยวิธีต่อไปนี้

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

การสร้างโทเคน JWT

ตัวอย่างด้วย 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'
});

ตัวอย่างด้วย 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')

การใช้ JWT กับ Brevo API

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

การตรวจสอบความถูกต้องของโทเคน

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 };
}
};

แนวทางปฏิบัติที่ดี

  • ใช้ secret ที่คาดเดายากและสุ่มอย่างแท้จริง
  • กำหนดเวลาหมดอายุให้เหมาะสม
  • ตรวจสอบความถูกต้องของโทเคนในทุกคำขอ
  • ใช้ HTTPS เท่านั้น
  • จัดเก็บ secret อย่างปลอดภัย
  • วางระบบต่ออายุโทเคน

ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

ตรวจจับอัตโนมัติ
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย