diff --git a/Cargo.lock b/Cargo.lock index 86fa896..b156014 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2075,9 +2075,7 @@ checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libfj" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f595f6d12b48064b9c14adac6a5f8e85409026fdf1409630a8b8f23dd368f6f3" +version = "0.9.0" dependencies = [ "async-trait", "base64 0.22.1", diff --git a/Cargo.toml b/Cargo.toml index bc9e7f9..ad0c16c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,8 +30,8 @@ members = [ rocket = { version = "0.5.1", features = [ "json" ] } actix-web = { version = "4", default-features = false, features = [ "macros", "compress-brotli", "compress-gzip", "compress-zstd"] } actix-files = "0.6" -#libfj = { version = "0.8", path = "../libfj" } -libfj = { version = "0.8" } +libfj = { version = "0.9", path = "../libfj" } +#libfj = { version = "0.8" } log = "0.4" env_logger = "0.11" clap = { version = "4.5", features = [ "derive" ] } diff --git a/rc_auth/src/robocraft/email.rs b/rc_auth/src/robocraft/email.rs index 1e3c52d..a7f700f 100644 --- a/rc_auth/src/robocraft/email.rs +++ b/rc_auth/src/robocraft/email.rs @@ -3,11 +3,18 @@ use actix_web::{post, web::{Data, Json}}; #[post("/authenticate/email/game")] pub async fn email_password_auth(body: Json, config: Data) -> Result, super::ErrorTy> { - log::info!("Authenticating {} user {}", body.target, body.display_name); + if body.display_name.is_none() { + return Err(super::ErrorTy::from_err(oj_rc_core::persist::user::AuthError { + message: "Missing display_name".to_owned(), + code: oj_rc_core::data::error_codes::AuthErrorCode::BadCredentials, + })); + } + let display_name = body.display_name.clone().unwrap(); + log::info!("Authenticating {} email user {}", body.target, display_name); let payload = libfj::robocraft::TokenPayload { - public_id: body.display_name.clone(), - display_name: body.display_name.clone(), - robocraft_name: body.display_name.clone(), + public_id: display_name.clone(), + display_name: display_name.clone(), + robocraft_name: display_name.clone(), email_address: body.email_address.clone(), email_verified: true, flags: Vec::new(), @@ -18,7 +25,7 @@ pub async fn email_password_auth(body: Json, config: Data) -> Result, super::ErrorTy> { - log::info!("Authenticating {} user {}", body.target, body.display_name); + if body.display_name.is_none() { + return Err(super::ErrorTy::from_err(oj_rc_core::persist::user::AuthError { + message: "Missing display_name".to_owned(), + code: oj_rc_core::data::error_codes::AuthErrorCode::BadCredentials, + })); + } + let display_name = body.display_name.clone().unwrap(); + log::info!("Authenticating {} user {}", body.target, display_name); let payload = libfj::robocraft::TokenPayload { - public_id: body.display_name.clone(), - display_name: body.display_name.clone(), - robocraft_name: body.display_name.clone(), + public_id: display_name.clone(), + display_name: display_name.clone(), + robocraft_name: display_name.clone(), email_address: body.email_address.clone(), email_verified: true, flags: Vec::new(), @@ -18,7 +25,7 @@ pub async fn user_password_auth(body: Json