pub struct TokenSigner { /* private fields */ }Expand description
Server-side machinery for minting and verifying tokens.
Implementations§
Source§impl TokenSigner
impl TokenSigner
Sourcepub fn new(secret: impl AsRef<[u8]>) -> Self
pub fn new(secret: impl AsRef<[u8]>) -> Self
Build a signer from a raw HMAC secret (any length; HMAC accepts it).
Sourcepub fn mint(
&self,
agent_id: impl Into<String>,
role: Role,
scopes: Vec<String>,
ttl: Duration,
max_uses: Option<u32>,
) -> CapToken
pub fn mint( &self, agent_id: impl Into<String>, role: Role, scopes: Vec<String>, ttl: Duration, max_uses: Option<u32>, ) -> CapToken
Mint and sign a CapToken with an explicit max_uses policy.
Prefer Self::one_time / Self::session / Self::limited
for the common cases.
Sourcepub fn verify_sig(&self, token: &CapToken) -> bool
pub fn verify_sig(&self, token: &CapToken) -> bool
HMAC sig verify (constant-time eq for timing side-channel resistance).
Sourcepub fn one_time(
&self,
agent_id: impl Into<String>,
role: Role,
scopes: Vec<String>,
ttl: Duration,
) -> CapToken
pub fn one_time( &self, agent_id: impl Into<String>, role: Role, scopes: Vec<String>, ttl: Duration, ) -> CapToken
Builder convenience: one-time token.
Trait Implementations§
Source§impl Clone for TokenSigner
impl Clone for TokenSigner
Source§fn clone(&self) -> TokenSigner
fn clone(&self) -> TokenSigner
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TokenSigner
impl RefUnwindSafe for TokenSigner
impl Send for TokenSigner
impl Sync for TokenSigner
impl Unpin for TokenSigner
impl UnsafeUnpin for TokenSigner
impl UnwindSafe for TokenSigner
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> 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 more