aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/mod.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-08-02 11:59:36 +0200
committermetamuffin <metamuffin@disroot.org>2023-08-02 11:59:36 +0200
commit0d6a5fb84d3e0016c80baa1849612f550db31a81 (patch)
tree0abe8b419750d74be024a0381a98340c043d5178 /server/src/routes/mod.rs
parent59e6e7a6feafaf1dada3054466d415cca047ca1a (diff)
downloadjellything-0d6a5fb84d3e0016c80baa1849612f550db31a81.tar
jellything-0d6a5fb84d3e0016c80baa1849612f550db31a81.tar.bz2
jellything-0d6a5fb84d3e0016c80baa1849612f550db31a81.tar.zst
key config optinal
Diffstat (limited to 'server/src/routes/mod.rs')
-rw-r--r--server/src/routes/mod.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/server/src/routes/mod.rs b/server/src/routes/mod.rs
index 0305104..7f4789d 100644
--- a/server/src/routes/mod.rs
+++ b/server/src/routes/mod.rs
@@ -5,7 +5,10 @@
*/
use crate::{database::Database, routes::ui::error::MyResult, CONF};
use api::{r_api_account_login, r_api_root, r_api_version};
+use base64::Engine;
use jellyremuxer::RemuxerContext;
+use log::warn;
+use rand::random;
use rocket::{
catchers, config::SecretKey, fairing::AdHoc, fs::FileServer, get, http::Header, routes, Build,
Config, Rocket,
@@ -45,7 +48,15 @@ macro_rules! uri {
pub fn build_rocket(remuxer: RemuxerContext, database: Database) -> Rocket<Build> {
rocket::build()
.configure(Config {
- secret_key: SecretKey::derive_from(CONF.cookie_key.as_bytes()),
+ secret_key: SecretKey::derive_from(
+ CONF.cookie_key
+ .clone()
+ .unwrap_or_else(|| {
+ warn!("cookie_key not configured, generating a random one.");
+ base64::engine::general_purpose::STANDARD.encode([(); 32].map(|_| random()))
+ })
+ .as_bytes(),
+ ),
..Default::default()
})
.manage(remuxer)