pub struct TokenVerifier { /* private fields */ }Expand description
Verifies integrity tokens against trusted issuers and accepted audiences.
Implementations§
Source§impl TokenVerifier
impl TokenVerifier
Sourcepub fn new(
issuers: impl IntoIterator<Item = (String, Arc<dyn IssuerKeys>)>,
audiences: impl IntoIterator<Item = String>,
) -> Result<Self, TokenVerifierConfigError>
pub fn new( issuers: impl IntoIterator<Item = (String, Arc<dyn IssuerKeys>)>, audiences: impl IntoIterator<Item = String>, ) -> Result<Self, TokenVerifierConfigError>
A verifier trusting issuers (issuer to its keys) and accepting any of audiences.
Accepting more than one audience lets an audience be renamed without an outage.
§Errors
Returns a TokenVerifierConfigError when no issuer or no audience is given.
Sourcepub async fn verify(
&self,
token: &str,
now: SystemTime,
) -> Result<AttestedDevice, TokenError>
pub async fn verify( &self, token: &str, now: SystemTime, ) -> Result<AttestedDevice, TokenError>
Verifies token at now and returns the device it attests.
Unverified claims are used only to select a trusted issuer and its signing key.
§Errors
Returns a TokenError describing why the token was refused.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for TokenVerifier
impl !UnwindSafe for TokenVerifier
impl Freeze for TokenVerifier
impl Send for TokenVerifier
impl Sync for TokenVerifier
impl Unpin for TokenVerifier
impl UnsafeUnpin for TokenVerifier
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