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

Rust使用jsonwebtoken时如何自定义JWT Claim的字段名称?

解决JWT字段名映射问题:将结构体字段重命名为带特殊字符的Claim名

可以通过Serde的rename属性实现这个需求——jsonwebtoken crate底层依赖Serde进行序列化/反序列化,因此直接利用Serde的字段重命名功能即可自定义JWT中的Claim名称。

修改你的结构体定义,为foo字段添加#[serde(rename = "example.com/foo")]属性:

use serde::{Serialize, Deserialize};

#[derive(Debug, Serialize, Deserialize)]
struct MyTokenClaims {
    #[serde(rename = "example.com/foo")]
    foo: String,
    bar: String,
    baz: String,
}

这样处理后:

  • 生成JWT时,结构体的foo字段会被序列化为"example.com/foo"这个Claim键名
  • 解析JWT时,"example.com/foo"也会正确映射回结构体的foo字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:23:12