diff options
author | metamuffin <metamuffin@disroot.org> | 2023-08-02 11:59:36 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-08-02 11:59:36 +0200 |
commit | 0d6a5fb84d3e0016c80baa1849612f550db31a81 (patch) | |
tree | 0abe8b419750d74be024a0381a98340c043d5178 /server/src/routes/mod.rs | |
parent | 59e6e7a6feafaf1dada3054466d415cca047ca1a (diff) | |
download | jellything-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.rs | 13 |
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) |