JWT टोकन
JSON Web Token (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 का इस्तेमाल करें
- सीक्रेट को सुरक्षित तरीके से स्टोर करें
- टोकन रिफ़्रेश लॉजिक लागू करें