JWT ٹوکنز
JSON Web Tokens (JWT) فریقین کے درمیان معلومات کو JSON آبجیکٹ کی صورت میں منتقل کرنے کا ایک محفوظ طریقہ فراہم کرتے ہیں۔
JWT کی ساخت
ایک JWT تین حصوں پر مشتمل ہوتا ہے جو نقطوں سے الگ کیے جاتے ہیں:
header.payload.signatureہیڈر
{ "alg": "HS256", "typ": "JWT"}پے لوڈ
{ "sub": "1234567890", "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 jwtimport datetime
payload = { 'user_id': '12345', 'exp': datetime.datetime.utcnow() + datetime.timedelta(hours=1), 'iat': datetime.datetime.utcnow()}
token = jwt.encode(payload, 'your-secret-key', algorithm='HS256')Brevo API کے ساتھ JWT کا استعمال
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 }; }};بہترین طریقے
- مضبوط اور بے ترتیب سیکرٹس استعمال کریں
- میعاد ختم ہونے کے مناسب اوقات مقرر کریں
- ہر درخواست پر ٹوکنز کی توثیق کریں
- صرف HTTPS استعمال کریں
- سیکرٹس محفوظ طریقے سے اسٹور کریں
- ٹوکن ریفریش کی لاجک نافذ کریں