pub enum SessionToken {
Opaque(String),
Jwt(String),
}Expand description
Session token type enum - either a simple opaque token or a JWT
Variants§
Opaque(String)
Opaque token - a token with at least 128 bits of entropy used for performing lookups in the session storage
Jwt(String)
JWT token - contains the session data within the token without any additional lookup in the session storage
Implementations§
Source§impl SessionToken
impl SessionToken
Sourcepub fn new_random() -> Self
pub fn new_random() -> Self
Create a new random opaque session token
Sourcepub fn new_jwt(claims: &JwtClaims, config: &JwtConfig) -> Result<Self, Error>
pub fn new_jwt(claims: &JwtClaims, config: &JwtConfig) -> Result<Self, Error>
Create a new JWT session token with the specified algorithm
Sourcepub fn verify_jwt(&self, config: &JwtConfig) -> Result<JwtClaims, Error>
pub fn verify_jwt(&self, config: &JwtConfig) -> Result<JwtClaims, Error>
Verify a JWT session token and return the claims
Sourcepub fn new_jwt_rs256(
claims: &JwtClaims,
private_key: &[u8],
) -> Result<Self, Error>
pub fn new_jwt_rs256( claims: &JwtClaims, private_key: &[u8], ) -> Result<Self, Error>
Create a new JWT session token using RS256 algorithm
Sourcepub fn verify_jwt_rs256(&self, public_key: &[u8]) -> Result<JwtClaims, Error>
pub fn verify_jwt_rs256(&self, public_key: &[u8]) -> Result<JwtClaims, Error>
Verify a JWT session token using RS256 algorithm and return the claims
Sourcepub fn new_jwt_hs256(
claims: &JwtClaims,
secret_key: &[u8],
) -> Result<Self, Error>
pub fn new_jwt_hs256( claims: &JwtClaims, secret_key: &[u8], ) -> Result<Self, Error>
Create a new JWT session token using HS256 algorithm
Sourcepub fn verify_jwt_hs256(&self, secret_key: &[u8]) -> Result<JwtClaims, Error>
pub fn verify_jwt_hs256(&self, secret_key: &[u8]) -> Result<JwtClaims, Error>
Verify a JWT session token using HS256 algorithm and return the claims
Sourcepub fn into_inner(self) -> String
pub fn into_inner(self) -> String
Get the inner token string
Trait Implementations§
Source§impl Clone for SessionToken
impl Clone for SessionToken
Source§fn clone(&self) -> SessionToken
fn clone(&self) -> SessionToken
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SessionToken
impl Debug for SessionToken
Source§impl Default for SessionToken
impl Default for SessionToken
Source§impl<'de> Deserialize<'de> for SessionToken
impl<'de> Deserialize<'de> for SessionToken
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
Source§impl Display for SessionToken
impl Display for SessionToken
Source§impl From<&str> for SessionToken
impl From<&str> for SessionToken
Source§impl From<String> for SessionToken
impl From<String> for SessionToken
Source§impl Hash for SessionToken
impl Hash for SessionToken
Source§impl PartialEq for SessionToken
impl PartialEq for SessionToken
Source§impl Serialize for SessionToken
impl Serialize for SessionToken
impl Eq for SessionToken
impl StructuralPartialEq for SessionToken
Auto Trait Implementations§
impl Freeze for SessionToken
impl RefUnwindSafe for SessionToken
impl Send for SessionToken
impl Sync for SessionToken
impl Unpin for SessionToken
impl UnwindSafe for SessionToken
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.