申请抢先体验

请填写名字,以及邮箱或手机号。我们会与您联系,提供 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')

在 Brevo API 中使用 JWT

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

最佳实践

  • 使用高强度的随机密钥
  • 设置合理的过期时间
  • 每次请求都校验令牌
  • 只使用 HTTPS
  • 妥善保管密钥
  • 实现令牌刷新逻辑

申请抢先体验

请填写名字,以及邮箱或手机号。我们会与您联系,提供 Tajo 访问详情。

自动识别
AI 助手

你好!关于文档有任何问题都可以问我。