From ebe29df991da0aeb0d78569906b1f70a09a73f53 Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 10 Oct 2025 21:03:18 +0000 Subject: [PATCH] icarus_envy version bump (#65) Reviewed-on: https://git.kundeng.us/phoenix/icarus_auth/pulls/65 Co-authored-by: phoenix Co-committed-by: phoenix --- Cargo.lock | 6 +++--- Cargo.toml | 4 ++-- src/callers/login.rs | 6 +++--- src/lib.rs | 2 +- src/main.rs | 28 +++++++++++++++++++--------- src/token_stuff/mod.rs | 4 +++- 6 files changed, 31 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c793376..0af7646 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -759,7 +759,7 @@ dependencies = [ [[package]] name = "icarus_auth" -version = "0.5.1" +version = "0.5.2" dependencies = [ "argon2", "axum", @@ -786,8 +786,8 @@ dependencies = [ [[package]] name = "icarus_envy" -version = "0.3.5" -source = "git+ssh://git@git.kundeng.us/phoenix/icarus_envy.git?tag=v0.3.5-main-86c5050c7b-006#86c5050c7bd5164bc6e773fc404195023f7f7aaa" +version = "0.4.1" +source = "git+ssh://git@git.kundeng.us/phoenix/icarus_envy.git?tag=v0.4.1-main-8f0d123db5-006#8f0d123db51b18e9cc4ab5bd39a474ba99bd39c3" dependencies = [ "const_format", "dotenvy", diff --git a/Cargo.toml b/Cargo.toml index 081b602..4de6d42 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus_auth" -version = "0.5.1" +version = "0.5.2" edition = "2024" rust-version = "1.88" @@ -22,7 +22,7 @@ josekit = { version = "0.10.3" } utoipa = { version = "5.4.0", features = ["axum_extras"] } utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] } icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.5.6" } -icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.3.5-main-86c5050c7b-006" } +icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.4.1-main-8f0d123db5-006" } [dev-dependencies] http-body-util = { version = "0.1.3" } diff --git a/src/callers/login.rs b/src/callers/login.rs index 5772d86..396fff6 100644 --- a/src/callers/login.rs +++ b/src/callers/login.rs @@ -96,7 +96,7 @@ pub mod endpoint { Ok(user) => { if hashing::verify_password(&payload.password, user.password.clone()).unwrap() { // Create token - let key = icarus_envy::environment::get_secret_key().await; + let key = icarus_envy::environment::get_secret_key().await.value; let (token_literal, duration) = token_stuff::create_token(&key, &user.id).unwrap(); @@ -155,7 +155,7 @@ pub mod endpoint { match repo::service::valid_passphrase(&pool, &payload.passphrase).await { Ok((id, _passphrase, _date_created)) => { - let key = icarus_envy::environment::get_secret_key().await; + let key = icarus_envy::environment::get_secret_key().await.value; let (token_literal, duration) = token_stuff::create_service_token(&key, &id).unwrap(); @@ -207,7 +207,7 @@ pub mod endpoint { axum::Json, ) { let mut response = response::refresh_token::Response::default(); - let key = icarus_envy::environment::get_secret_key().await; + let key = icarus_envy::environment::get_secret_key().await.value; if token_stuff::verify_token(&key, &payload.access_token) { let token_type = token_stuff::get_token_type(&key, &payload.access_token).unwrap(); diff --git a/src/lib.rs b/src/lib.rs index 75c5de2..19c66a2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,7 +16,7 @@ pub mod db { use crate::connection_settings; pub async fn create_pool() -> Result { - let database_url = icarus_envy::environment::get_db_url().await; + let database_url = icarus_envy::environment::get_db_url().await.value; println!("Database url: {database_url}"); PgPoolOptions::new() diff --git a/src/main.rs b/src/main.rs index 0a290b1..8e3db29 100644 --- a/src/main.rs +++ b/src/main.rs @@ -66,11 +66,21 @@ mod init { match std::env::var(icarus_envy::keys::APP_ENV).as_deref() { Ok("production") => { let allowed_origins_env = icarus_envy::environment::get_allowed_origins().await; - let allowed_origins: Vec = allowed_origins_env - .split(",") - .map(|s| s.parse::().unwrap()) - .collect(); - cors.allow_origin(allowed_origins) + match icarus_envy::utility::delimitize(&allowed_origins_env) { + Ok(alwd) => { + let allowed_origins: Vec = alwd + .into_iter() + .map(|s| s.parse::().unwrap()) + .collect(); + cors.allow_origin(allowed_origins) + } + Err(err) => { + eprintln!( + "Could not parse out allowed origins from env: Error: {err:?}" + ); + std::process::exit(-1); + } + } } _ => { // Development (default): Allow localhost origins @@ -148,7 +158,7 @@ mod tests { pub const LIMIT: usize = 6; pub async fn get_pool() -> Result { - let tm_db_url = icarus_envy::environment::get_db_url().await; + let tm_db_url = icarus_envy::environment::get_db_url().await.value; let tm_options = sqlx::postgres::PgConnectOptions::from_str(&tm_db_url).unwrap(); sqlx::PgPool::connect_with(tm_options).await } @@ -161,7 +171,7 @@ mod tests { } pub async fn connect_to_db(db_name: &str) -> Result { - let db_url = icarus_envy::environment::get_db_url().await; + let db_url = icarus_envy::environment::get_db_url().await.value; let options = sqlx::postgres::PgConnectOptions::from_str(&db_url)?.database(db_name); sqlx::PgPool::connect_with(options).await } @@ -188,7 +198,7 @@ mod tests { } pub async fn get_database_name() -> Result> { - let database_url = icarus_envy::environment::get_db_url().await; + let database_url = icarus_envy::environment::get_db_url().await.value; let parsed_url = url::Url::parse(&database_url)?; if parsed_url.scheme() == "postgres" || parsed_url.scheme() == "postgresql" { @@ -491,7 +501,7 @@ mod tests { let app = init::routes().await.layer(axum::Extension(pool)); let id = uuid::Uuid::parse_str("22f9c775-cce9-457a-a147-9dafbb801f61").unwrap(); - let key = icarus_envy::environment::get_secret_key().await; + let key = icarus_envy::environment::get_secret_key().await.value; match icarus_auth::token_stuff::create_service_token(&key, &id) { Ok((token, _expire)) => { diff --git a/src/token_stuff/mod.rs b/src/token_stuff/mod.rs index 64e4429..b6a6f9a 100644 --- a/src/token_stuff/mod.rs +++ b/src/token_stuff/mod.rs @@ -124,7 +124,9 @@ mod tests { #[test] fn test_tokenize() { let rt = tokio::runtime::Runtime::new().unwrap(); - let special_key = rt.block_on(icarus_envy::environment::get_secret_key()); + let special_key = rt + .block_on(icarus_envy::environment::get_secret_key()) + .value; let id = uuid::Uuid::new_v4(); match create_token(&special_key, &id) { Ok((token, _duration)) => {