pub struct Token {
pub origin: String,
pub feature: String,
pub expiry: u64,
pub is_subdomain: bool,
pub is_third_party: bool,
pub usage: Usage,
}
Expand description
An already decoded and maybe-verified token.
Fields§
§origin: String
§feature: String
§expiry: u64
§is_subdomain: bool
§is_third_party: bool
§usage: Usage
Implementations§
Source§impl Token
impl Token
pub fn origin(&self) -> &str
pub fn feature(&self) -> &str
pub fn expiry_since_unix_epoch(&self) -> Duration
pub fn expiry_time(&self) -> Option<SystemTime>
pub fn is_expired(&self) -> bool
Sourcepub fn from_buffer(
buffer: &[u8],
verify_signature: impl FnOnce(&[u8; 64], &[u8]) -> bool,
) -> Result<Self, TokenValidationError>
pub fn from_buffer( buffer: &[u8], verify_signature: impl FnOnce(&[u8; 64], &[u8]) -> bool, ) -> Result<Self, TokenValidationError>
Most high-level function: For a given buffer, tries to parse it and verify it as a token.
Sourcepub fn from_raw_token(
token: &RawToken,
verify_signature: impl FnOnce(&[u8; 64], &[u8]) -> bool,
) -> Result<Self, TokenValidationError>
pub fn from_raw_token( token: &RawToken, verify_signature: impl FnOnce(&[u8; 64], &[u8]) -> bool, ) -> Result<Self, TokenValidationError>
Validates a RawToken’s signature and converts the token if valid.
Sourcepub fn from_raw_token_unverified(
token: &RawToken,
) -> Result<Self, TokenValidationError>
pub fn from_raw_token_unverified( token: &RawToken, ) -> Result<Self, TokenValidationError>
Converts the token from a raw token, without verifying first.
Sourcepub fn from_payload(
version: u8,
payload: &[u8],
) -> Result<Self, TokenValidationError>
pub fn from_payload( version: u8, payload: &[u8], ) -> Result<Self, TokenValidationError>
Converts the token from a raw payload, version pair.
Sourcepub fn to_payload(&self) -> Vec<u8> ⓘ
pub fn to_payload(&self) -> Vec<u8> ⓘ
Converts the token to a raw payload.
Sourcepub fn to_signature_data(&self) -> Vec<u8> ⓘ
pub fn to_signature_data(&self) -> Vec<u8> ⓘ
Converts the token to the data that should be signed.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Token
impl<'de> Deserialize<'de> for Token
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Token
impl StructuralPartialEq for Token
Auto Trait Implementations§
impl Freeze for Token
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnwindSafe for Token
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