rust web 的自定义extract获取jwt

rust web 的自定义extract获取jwt

刚开始学习rust的时候,web框架一大堆,感觉无所适从。有的框架类似于 springboot里注解的方式 使用宏,有的是用函数的方式。

随着异步框架 tokio地位的稳固,axum是一个不错的选择。axum采用的是函数的方式。

其实框架里是写好的验证处理程序的。源码里有基本验证和令牌验证两种方式。

原来有的令牌验证,一是字段不能重新定义,二是字段的值分为两部分。如果前端的人不是深究过http协议,估计会骂街。

前端提交了用户名和密码后,得到了 jwt。后续业务中,将jwt放置到 商量好 的自定义header里即可。

以令牌里只涉及 用户ID 和 过期时间 为例 定义 Claims。

#[derive(Debug, Serialize, Deserialize)]
pub struct Claims {
    uid: String,
    exp: u64,  // Unix stamp at expired time
}

impl std::fmt::Display for Claims {
    fn fmt(&self, f: &mut Formatter<"_>) -> std::fmt::Result {
        write!(f, "{}", self)
    }
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » rust web 的自定义extract获取jwt