pub struct JwtClaims {
pub login_id: String,
pub iss: Option<String>,
pub aud: Option<String>,
pub exp: Option<i64>,
pub nbf: Option<i64>,
pub iat: Option<i64>,
pub jti: Option<String>,
pub login_type: Option<String>,
pub device: Option<String>,
pub extra: HashMap<String, Value>,
}Expand description
JWT Claims | JWT 声明
Standard JWT claims with sa-token extensions 标准 JWT 声明及 sa-token 扩展
Fields§
§login_id: StringSubject (user identifier) | 主题(用户标识符)
iss: Option<String>Issuer | 签发者
aud: Option<String>Audience | 受众
exp: Option<i64>Expiration time (Unix timestamp) | 过期时间(Unix 时间戳)
nbf: Option<i64>Not before time (Unix timestamp) | 生效时间(Unix 时间戳)
iat: Option<i64>Issued at time (Unix timestamp) | 签发时间(Unix 时间戳)
jti: Option<String>JWT ID (unique identifier) | JWT ID(唯一标识符)
login_type: Option<String>Login type (user, admin, etc.) | 登录类型(用户、管理员等)
device: Option<String>Device identifier | 设备标识
extra: HashMap<String, Value>Custom data | 自定义数据
Implementations§
Source§impl JwtClaims
impl JwtClaims
Sourcepub fn set_expiration(&mut self, seconds: i64) -> &mut JwtClaims
pub fn set_expiration(&mut self, seconds: i64) -> &mut JwtClaims
Set expiration time in seconds from now | 设置从现在开始的过期时间(秒)
§Arguments | 参数
seconds- Seconds until expiration | 到期秒数
Sourcepub fn set_expiration_at(&mut self, datetime: DateTime<Utc>) -> &mut JwtClaims
pub fn set_expiration_at(&mut self, datetime: DateTime<Utc>) -> &mut JwtClaims
Set expiration at specific time | 设置具体的过期时间
Sourcepub fn set_issuer(&mut self, issuer: impl Into<String>) -> &mut JwtClaims
pub fn set_issuer(&mut self, issuer: impl Into<String>) -> &mut JwtClaims
Set issuer | 设置签发者
Sourcepub fn set_audience(&mut self, audience: impl Into<String>) -> &mut JwtClaims
pub fn set_audience(&mut self, audience: impl Into<String>) -> &mut JwtClaims
Set audience | 设置受众
Sourcepub fn set_login_type(
&mut self,
login_type: impl Into<String>,
) -> &mut JwtClaims
pub fn set_login_type( &mut self, login_type: impl Into<String>, ) -> &mut JwtClaims
Set login type | 设置登录类型
Sourcepub fn set_device(&mut self, device: impl Into<String>) -> &mut JwtClaims
pub fn set_device(&mut self, device: impl Into<String>) -> &mut JwtClaims
Set device identifier | 设置设备标识
Sourcepub fn add_claim(
&mut self,
key: impl Into<String>,
value: Value,
) -> &mut JwtClaims
pub fn add_claim( &mut self, key: impl Into<String>, value: Value, ) -> &mut JwtClaims
Add custom claim | 添加自定义声明
Sourcepub fn set_claims(&mut self, claims: HashMap<String, Value>) -> &mut JwtClaims
pub fn set_claims(&mut self, claims: HashMap<String, Value>) -> &mut JwtClaims
Set all custom claims at once | 一次设置所有自定义声明
Sourcepub fn get_claims(&self) -> &HashMap<String, Value>
pub fn get_claims(&self) -> &HashMap<String, Value>
Get all custom claims | 获取所有自定义声明
Sourcepub fn is_expired(&self) -> bool
pub fn is_expired(&self) -> bool
Check if token is expired | 检查 token 是否过期
Sourcepub fn remaining_time(&self) -> Option<i64>
pub fn remaining_time(&self) -> Option<i64>
Get remaining time in seconds | 获取剩余时间(秒)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for JwtClaims
impl<'de> Deserialize<'de> for JwtClaims
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<JwtClaims, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<JwtClaims, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for JwtClaims
impl Serialize for JwtClaims
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for JwtClaims
impl RefUnwindSafe for JwtClaims
impl Send for JwtClaims
impl Sync for JwtClaims
impl Unpin for JwtClaims
impl UnwindSafe for JwtClaims
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
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>
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>
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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);