mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Upgrade to libfj v0.9
This commit is contained in:
4
Cargo.lock
generated
4
Cargo.lock
generated
@@ -2075,9 +2075,7 @@ checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libfj"
|
name = "libfj"
|
||||||
version = "0.8.0"
|
version = "0.9.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f595f6d12b48064b9c14adac6a5f8e85409026fdf1409630a8b8f23dd368f6f3"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ members = [
|
|||||||
rocket = { version = "0.5.1", features = [ "json" ] }
|
rocket = { version = "0.5.1", features = [ "json" ] }
|
||||||
actix-web = { version = "4", default-features = false, features = [ "macros", "compress-brotli", "compress-gzip", "compress-zstd"] }
|
actix-web = { version = "4", default-features = false, features = [ "macros", "compress-brotli", "compress-gzip", "compress-zstd"] }
|
||||||
actix-files = "0.6"
|
actix-files = "0.6"
|
||||||
#libfj = { version = "0.8", path = "../libfj" }
|
libfj = { version = "0.9", path = "../libfj" }
|
||||||
libfj = { version = "0.8" }
|
#libfj = { version = "0.8" }
|
||||||
log = "0.4"
|
log = "0.4"
|
||||||
env_logger = "0.11"
|
env_logger = "0.11"
|
||||||
clap = { version = "4.5", features = [ "derive" ] }
|
clap = { version = "4.5", features = [ "derive" ] }
|
||||||
|
|||||||
@@ -3,11 +3,18 @@ use actix_web::{post, web::{Data, Json}};
|
|||||||
|
|
||||||
#[post("/authenticate/email/game")]
|
#[post("/authenticate/email/game")]
|
||||||
pub async fn email_password_auth(body: Json<libfj::robocraft::EmailUserAuthenticationPayload>, config: Data<super::RcConfig>) -> Result<Json<libfj::robocraft::AuthenticationResponseInfo>, super::ErrorTy> {
|
pub async fn email_password_auth(body: Json<libfj::robocraft::EmailUserAuthenticationPayload>, config: Data<super::RcConfig>) -> Result<Json<libfj::robocraft::AuthenticationResponseInfo>, 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 {
|
let payload = libfj::robocraft::TokenPayload {
|
||||||
public_id: body.display_name.clone(),
|
public_id: display_name.clone(),
|
||||||
display_name: body.display_name.clone(),
|
display_name: display_name.clone(),
|
||||||
robocraft_name: body.display_name.clone(),
|
robocraft_name: display_name.clone(),
|
||||||
email_address: body.email_address.clone(),
|
email_address: body.email_address.clone(),
|
||||||
email_verified: true,
|
email_verified: true,
|
||||||
flags: Vec::new(),
|
flags: Vec::new(),
|
||||||
@@ -18,7 +25,7 @@ pub async fn email_password_auth(body: Json<libfj::robocraft::EmailUserAuthentic
|
|||||||
};
|
};
|
||||||
let response = config.account_provider.login(user_info).await
|
let response = config.account_provider.login(user_info).await
|
||||||
.map_err(|e| {
|
.map_err(|e| {
|
||||||
log::error!("Failed to authenticate {} user {}: {}", body.target, body.display_name, e.message);
|
log::error!("Failed to authenticate {} user {}: {}", body.target, display_name, e.message);
|
||||||
super::ErrorTy::from_err(e)
|
super::ErrorTy::from_err(e)
|
||||||
})?;
|
})?;
|
||||||
Ok(Json(response.response))
|
Ok(Json(response.response))
|
||||||
|
|||||||
@@ -3,11 +3,18 @@ use actix_web::{post, web::{Data, Json}};
|
|||||||
|
|
||||||
#[post("/authenticate/robocraft/game")]
|
#[post("/authenticate/robocraft/game")]
|
||||||
pub async fn user_password_auth(body: Json<libfj::robocraft::EmailUserAuthenticationPayload>, config: Data<super::RcConfig>) -> Result<Json<libfj::robocraft::AuthenticationResponseInfo>, super::ErrorTy> {
|
pub async fn user_password_auth(body: Json<libfj::robocraft::EmailUserAuthenticationPayload>, config: Data<super::RcConfig>) -> Result<Json<libfj::robocraft::AuthenticationResponseInfo>, 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 {
|
let payload = libfj::robocraft::TokenPayload {
|
||||||
public_id: body.display_name.clone(),
|
public_id: display_name.clone(),
|
||||||
display_name: body.display_name.clone(),
|
display_name: display_name.clone(),
|
||||||
robocraft_name: body.display_name.clone(),
|
robocraft_name: display_name.clone(),
|
||||||
email_address: body.email_address.clone(),
|
email_address: body.email_address.clone(),
|
||||||
email_verified: true,
|
email_verified: true,
|
||||||
flags: Vec::new(),
|
flags: Vec::new(),
|
||||||
@@ -18,7 +25,7 @@ pub async fn user_password_auth(body: Json<libfj::robocraft::EmailUserAuthentica
|
|||||||
};
|
};
|
||||||
let response = config.account_provider.login(user_info).await
|
let response = config.account_provider.login(user_info).await
|
||||||
.map_err(|e| {
|
.map_err(|e| {
|
||||||
log::error!("Failed to authenticate {} user {}: {}", body.target, body.display_name, e.message);
|
log::error!("Failed to authenticate {} user {}: {}", body.target, display_name, e.message);
|
||||||
super::ErrorTy::from_err(e)
|
super::ErrorTy::from_err(e)
|
||||||
})?;
|
})?;
|
||||||
Ok(Json(response.response))
|
Ok(Json(response.response))
|
||||||
|
|||||||
Reference in New Issue
Block a user