frontend: Generate random secret by default

This commit is contained in:
Lennart
2025-05-15 20:58:17 +02:00
parent 212274fce9
commit 0acc3c22d9
4 changed files with 15 additions and 16 deletions

View File

@@ -1,5 +1,14 @@
use rand::RngCore;
use serde::{Deserialize, Serialize};
pub fn generate_frontend_secret() -> [u8; 64] {
let mut rng = rand::thread_rng();
let mut secret = [0u8; 64];
rng.fill_bytes(&mut secret);
secret
}
fn default_true() -> bool {
true
}
@@ -9,6 +18,7 @@ fn default_true() -> bool {
pub struct FrontendConfig {
#[serde(serialize_with = "hex::serde::serialize")]
#[serde(deserialize_with = "hex::serde::deserialize")]
#[serde(default = "generate_frontend_secret")]
pub secret_key: [u8; 64],
#[serde(default = "default_true")]
pub enabled: bool,

View File

@@ -38,7 +38,7 @@ mod routes;
pub const ROUTE_NAME_HOME: &str = "frontend_home";
pub const ROUTE_USER_NAMED: &str = "frontend_user_named";
pub use config::FrontendConfig;
pub use config::{FrontendConfig, generate_frontend_secret};
pub fn generate_app_token() -> String {
rand::thread_rng()