pub mod claims; pub mod cookie; pub mod error; pub mod extract; pub mod guard; pub mod share; pub mod user; pub mod verifier; pub use claims::{AccessClaims, IdClaims, ServiceClaims}; pub use cookie::{clear_refresh_cookie, clear_session_cookie, read_cookie, refresh_cookie, session_cookie}; pub use error::SessionError; pub use extract::Session; pub use guard::require_uid; pub use user::{AuthUser, SessionUser}; pub use verifier::JwtVerifier; pub fn at_hash(access_token: &str) -> String { use base64::Engine as _; use sha2::{Digest, Sha512}; let digest = Sha512::digest(access_token.as_bytes()); base64::engine::general_purpose::URL_SAFE_NO_PAD.encode(&digest[..digest.len() / 2]) }