pub struct JwtUtil { /* private fields */ }Expand description
JWT 生成与解析工具
基于 HMAC-SHA256 签名的 JWT Token 管理。
§示例
use tdm_server_rust::utils::JwtUtil;
let util = JwtUtil::new("my_secret_key", 7_200_000); // 2h 过期
let token = util.generate(42).expect("生成应成功");
// 解析并验证
let claims = util.parse(&token).expect("解析应成功");
assert_eq!(claims.id, 42);§Panics
不 panic。所有错误通过 jsonwebtoken::errors::Result 返回。
§安全性
- 签名密钥从配置文件
jwt.sign_key加载 - 默认有效期由
jwt.expire_ms控制 - 解析时自动验证签名和过期时间
Implementations§
Auto Trait Implementations§
impl Freeze for JwtUtil
impl RefUnwindSafe for JwtUtil
impl Send for JwtUtil
impl Sync for JwtUtil
impl Unpin for JwtUtil
impl UnsafeUnpin for JwtUtil
impl UnwindSafe for JwtUtil
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request