use axum::response::IntoResponse; use axum_oidc::{EmptyAdditionalClaims, OidcClaims}; pub async fn authenticated(claims: OidcClaims) -> impl IntoResponse { format!("Hello {}", claims.subject().as_str()) } pub async fn maybe_authenticated( claims: Option>, ) -> impl IntoResponse { if let Some(claims) = claims { format!( "Hello {}! You are already logged in from another Handler.", claims.subject().as_str() ) } else { "Hello anon!".to_string() } } pub async fn handle_axum_oidc_middleware_error( e: axum_oidc::error::MiddlewareError, ) -> axum::http::Response { e.into_response() } pub fn extract_location_header_testresponse(response: axum_test::TestResponse) -> Option { Some( response .headers() .get("Location")? .to_str() .ok()? .to_string(), ) } pub fn extract_location_header_response(response: reqwest::Response) -> Option { Some( response .headers() .get("Location")? .to_str() .ok()? .to_string(), ) }