You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Surreal DB:如何获取解码后的JWT令牌?附curl查询示例

关于SurrealDB登录后获取JWT解码内容的问题

能否在登录响应中直接获取解码后的JWT?

SurrealDB的登录接口默认不会在响应中直接返回解码后的JWT内容。登录成功后只会返回加密签名后的完整JWT字符串,因为JWT的Payload部分本身是Base64URL编码(而非加密),客户端可以自行解码获取元数据,无需依赖服务端接口。

如果需要在UI展示解码后的内容,直接在前端拆分JWT的三个部分(header.payload.signature),提取中间的Payload部分做Base64URL解码即可。

通过JWT查询用户元数据的curl示例

若你需要通过服务端接口验证JWT并获取用户元数据,可使用SurrealDB的INFO FOR语句实现,以下是curl示例:

curl -X POST "http://your-surrealdb-instance:8000/sql" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2NzIwMzc2MjMsIm5iZiI6MTY3MjAzNzYyMywiZXhwIjoxNjcyMTI0MDIzLCJpc3MiOiJTdXJyZWFsREIiLCJOUyI6InRlc3QiLCJEQiI6InRlc3QiLCJTQyI6InVzZXIiLCJJRCI6InVzZXI6czFiN3JzcnlxNW9jdDVmM2FrdHEifQ.BBhUechMxdL0Vt3SIOHd3vAVDgieBRXhwhMgTZLpXn50fCB-j2P7JpA8BLwY3KmA_he4A" \
  -d '{
    "ns": "test",
    "db": "test",
    "sql": "INFO FOR USER;"
  }'

关键说明:

  • 替换http://your-surrealdb-instance:8000为你的SurrealDB实例实际地址和端口
  • Authorization头中Bearer后需填入你的完整JWT令牌
  • ns(命名空间)和db(数据库)要与JWT中携带的对应字段一致(你的JWT中为test和test)
  • INFO FOR USER;语句会返回当前认证用户的完整元数据信息

内容的提问来源于stack exchange,提问作者Shivam Sahil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:21:12