### Axum Quick Start Source: https://authkestra.com Example of setting up Authkestra with Axum, GitHub OAuth, and in-memory session storage. ```rust use authkestra_axum::{AuthkestraAxumExt, AuthSession}; use authkestra_flow::{Authkestra, OAuth2Flow}; use authkestra_providers_github::GithubProvider; use authkestra_session::MemoryStore; #[tokio::main] async fn main() { let provider = GithubProvider::new( env::var("GITHUB_ID")?, env::var("GITHUB_SECRET")?, "http://localhost:3000/auth/github/callback".into(), ); let authkestra = Authkestra::builder() .provider(OAuth2Flow::new(provider)) .session_store(Arc::new(MemoryStore::default())) .build(); let app = Router::new() .merge(authkestra.axum_router()) .route("/me", get(me)); axum::serve(listener, app).await.unwrap(); } async fn me(AuthSession(session): AuthSession) -> String { format!("Hello, {}!", session.identity.username) } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.