Skip to main content

allowthem_core/
core.rs

1pub mod access_tokens;
2pub mod api_tokens;
3pub mod applications;
4pub mod audit;
5pub mod auth_client;
6pub mod authorization;
7pub mod csrf;
8pub mod db;
9pub mod email;
10pub mod email_verification;
11pub mod error;
12pub mod events;
13pub mod handle;
14pub mod invitations;
15pub mod jwt;
16mod mfa_encrypt;
17pub mod oauth;
18pub mod oauth_github;
19pub mod oauth_google;
20pub mod password;
21pub mod password_reset;
22pub mod permissions;
23pub mod roles;
24pub mod sessions;
25pub mod signing_keys;
26pub mod token_cleanup;
27pub mod token_issuance;
28pub mod totp;
29pub mod types;
30pub mod users;
31
32pub use access_tokens::{AccessTokenClaims, has_scope};
33pub use audit::{AuditEntry, AuditEvent};
34pub use auth_client::{AuthClient, AuthFuture, EmbeddedAuthClient};
35pub use csrf::{derive_csrf_token, verify_csrf_token};
36pub use db::Db;
37pub use email::{EmailMessage, EmailSender, LogEmailSender};
38pub use error::{AccessTokenError, AuthError};
39pub use events::{
40    AuthEvent, AuthEventReceiver, AuthEventSender, EventContext, RegisteredEvent,
41    RegistrationSource,
42};
43pub use handle::{AllowThem, AllowThemBuilder, BuildError, LoginOutcome};
44pub use invitations::Invitation;
45pub use jwt::{Claims, JwtConfig, generate_token as generate_jwt, validate_token};
46pub use oauth::{OAuthAccountInfo, OAuthProvider, OAuthStateInfo, OAuthUserInfo};
47pub use oauth_github::GitHubProvider;
48pub use oauth_google::GoogleProvider;
49pub use sessions::{
50    SessionConfig, generate_token, hash_token, parse_session_cookie, session_cookie,
51};
52pub use signing_keys::{
53    JwkEntry, JwkSet, OidcDiscovery, SigningKey, build_discovery, build_jwks, decrypt_private_key,
54};
55pub use token_issuance::{
56    RefreshToken, TokenError, TokenResponse, compute_at_hash, exchange_authorization_code,
57    exchange_refresh_token, generate_refresh_token, hash_refresh_token, mint_access_token,
58    mint_id_token, verify_pkce_s256,
59};
60pub use types::*;
61
62#[cfg(test)]
63mod db_tests;