diff --git a/src/common_queries/sessions.rs b/src/common_queries/sessions.rs index 42fc984a71..ce3acbe725 100644 --- a/src/common_queries/sessions.rs +++ b/src/common_queries/sessions.rs @@ -3,11 +3,12 @@ use log::{info, warn}; use crate::AnyhowResult; use crate::util::random_crockford_token::random_crockford_token; use sqlx::MySqlPool; +use crate::util::random_prefix_crockford_token::random_prefix_crockford_token; pub async fn create_session_for_user(user_token: &str, ip_address: &str, mysql_pool: &MySqlPool) -> AnyhowResult { - let session_token = random_crockford_token(32); + let session_token = random_prefix_crockford_token("SESSION:", 32)?; let query_result = sqlx::query!( r#" diff --git a/src/http_server/endpoints/users/create_account.rs b/src/http_server/endpoints/users/create_account.rs index 3fdf226853..3209066cb4 100644 --- a/src/http_server/endpoints/users/create_account.rs +++ b/src/http_server/endpoints/users/create_account.rs @@ -21,6 +21,7 @@ use sqlx::mysql::MySqlDatabaseError; use std::sync::Arc; use crate::util::email_to_gravatar::email_to_gravatar; use crate::validations::username_reservations::is_reserved_username; +use crate::util::random_prefix_crockford_token::random_prefix_crockford_token; const NEW_USER_ROLE: &'static str = "new-user"; @@ -109,7 +110,11 @@ pub async fn create_account_handler( return Err(CreateAccountError::BadInput("invalid email address".to_string())); } - let user_token = random_crockford_token(15); + let user_token = random_prefix_crockford_token("U:", 15) + .map_err(|e| { + warn!("Bad crockford token: {:?}", e); + CreateAccountError::ServerError + })?; let password_hash = match bcrypt::hash(&request.password, bcrypt::DEFAULT_COST) { Ok(hash) => hash, diff --git a/src/job_queries/tts_download_job_queries.rs b/src/job_queries/tts_download_job_queries.rs index be2f229573..20c25b5127 100644 --- a/src/job_queries/tts_download_job_queries.rs +++ b/src/job_queries/tts_download_job_queries.rs @@ -7,6 +7,7 @@ use chrono::Utc; use crate::util::anyhow_result::AnyhowResult; use crate::util::random_crockford_token::random_crockford_token; use sqlx::MySqlPool; +use crate::util::random_prefix_crockford_token::random_prefix_crockford_token; /// table: tts_model_upload_jobs #[derive(Debug)] @@ -115,7 +116,7 @@ pub async fn insert_tts_model(pool: &MySqlPool, private_bucket_object_name: &str) -> AnyhowResult { - let model_token = random_crockford_token(32); + let model_token = random_prefix_crockford_token("TTS_MDL:", 32)?; let updatable_slug = model_token.clone(); let query_result = sqlx::query!( diff --git a/src/job_queries/w2l_download_job_queries.rs b/src/job_queries/w2l_download_job_queries.rs index d7120d2dc2..033fa40fb5 100644 --- a/src/job_queries/w2l_download_job_queries.rs +++ b/src/job_queries/w2l_download_job_queries.rs @@ -7,6 +7,7 @@ use chrono::Utc; use crate::util::anyhow_result::AnyhowResult; use crate::util::random_crockford_token::random_crockford_token; use sqlx::MySqlPool; +use crate::util::random_prefix_crockford_token::random_prefix_crockford_token; /// table: w2l_template_upload_jobs #[derive(Debug)] @@ -126,7 +127,7 @@ pub async fn insert_w2l_template(pool: &MySqlPool, duration_millis: u64) -> AnyhowResult { - let model_token = random_crockford_token(32); + let model_token = random_prefix_crockford_token("W2L_TPL:", 32)?; let updatable_slug = model_token.clone(); let query_result = sqlx::query!(