JWT 认证
JWT 认证
验证签名并授权
通过验证用户提供的钱包签名,验证成功后生成 JWT Token 进行授权。
HTTP 请求
POST
/api/authorize
请求频率限制:
- 建议不超过 3 次/秒
请求参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| userAddress | string | 是 | 用户钱包地址 |
| signature | string | 是 | 钱包签名(十六进制格式) |
| isTermAccepted | boolean | 是 | 是否接受服务条款,必须为 true |
请求示例
{
"userAddress": "0xab7f6e97232d633689cf762989455cceb769587c69a9f09a23f537f5605f9e78",
"signature": "77ac25a7a4e9c686447788d65e06366f11cc8d064fb2f8585bbce7b06cbd29b398f7b231cd4f838818688057236c9be2572b825d7d2b2d141594e7cffc98e40a1zTNoZKsgPhuhbBmPoAeD/D+135wtLJbw7luX1Nftd+M=",
"isTermAccepted": true
}
响应字段说明
| 名称 | 类型 | 描述 |
|---|---|---|
| token | string | JWT Token,用于后续 API 请求的认证 |
| walletAddress | string | 钱包地址 |
响应示例
{
"code": 200,
"message": "success",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIweGFiN2Y2ZTk3MjMyZDYzMzY4OWNmNzYyOTg5NDU1Y2NlYjc2OTU4N2M2OWE5ZjA5YTIzZjUzN2Y1NjA1ZjllNzgiLCJpYXQiOjE3MDAwMDAwMDB9.xxx",
"walletAddress": "0xab7f6e97232d633689cf762989455cceb769587c69a9f09a23f537f5605f9e78"
}
}
使用 Token
获取到 Token 后,在后续的私有接口请求中,需要在请求头中携带:
重要提示
- Token 具有有效期,过期后需要重新获取
- 前端使用 Token 时需要在前面加上
Bearer前缀 isTermAccepted必须为true,否则无法授权- 签名验证失败会返回错误