FIX: http basic auth fix

This commit is contained in:
Keanu D?lle 2021-06-11 16:57:37 +02:00
parent 95010218a5
commit 5ddafa7f60
4 changed files with 12 additions and 17 deletions

20
Cargo.lock generated
View File

@ -123,12 +123,6 @@ dependencies = [
"byteorder",
]
[[package]]
name = "base64"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
[[package]]
name = "base64"
version = "0.13.0"
@ -1526,12 +1520,12 @@ dependencies = [
[[package]]
name = "rocket"
version = "0.4.7"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7febfdfd4d43facfc7daba20349ebe2c310c6735bd6a2a9255ea8bc425b4cb13"
checksum = "4a7ab1dfdc75bb8bd2be381f37796b1b300c45a3c9145b34d86715e8dd90bf28"
dependencies = [
"atty",
"base64 0.12.3",
"base64 0.13.0",
"log 0.4.14",
"memchr",
"num_cpus",
@ -1547,9 +1541,9 @@ dependencies = [
[[package]]
name = "rocket_codegen"
version = "0.4.7"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ceac2c55b2c8b1cdc53add64332defa5fc227f64263b86b4114d1386286d42a3"
checksum = "1729e687d6d2cf434d174da84fb948f7fef4fac22d20ce94ca61c28b72dbcf9f"
dependencies = [
"devise",
"glob",
@ -1577,9 +1571,9 @@ dependencies = [
[[package]]
name = "rocket_http"
version = "0.4.7"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce364100ed7a1bf39257b69ebd014c1d5b4979b0d365d8c9ab0aa9c79645493d"
checksum = "6131e6e6d38a9817f4a494ff5da95971451c2eb56a53915579fc9c80f6ef0117"
dependencies = [
"cookie",
"hyper",

View File

@ -13,7 +13,7 @@ serde = { version = "1.0.125", features = ["derive"] }
serde_json = "1.0.64"
log = "0.4.14"
env_logger = "0.8.3"
rocket = "0.4.7"
rocket = "0.4.10"
diesel = { version = "1.4.6", features = ["postgres", "uuidv07", "chrono", "serde_json"] } #uuidv07 vs uuid to use uuid >= 0.7
diesel_geometry = "1.4.0"
uuid = { version = "0.8.2", features = ["serde", "v4"] }

View File

@ -11,8 +11,10 @@ use rocket::response::status::Custom;
/// Will be called when session cookies are invalid / if user has no permission to access feature
#[catch(401)]
pub fn unauthorized<'a>(req: &Request) -> Result<Redirect, Response<'a>> {
if req.uri().to_string().find("/api/").is_some(){
let res = Custom(Status::Unauthorized, format!("401: {}", req.uri()));
if req.uri().to_string().find("/api/http_basic_auth").is_some(){
let mut res = Response::new();
res.set_status(Status::Unauthorized);
res.set_raw_header("WWW-Authenticate", "Basic");
return Err(res.respond_to(req).unwrap())
}
let storage = match req.guard::<State<SessionCookieStorage>>() {

View File

@ -104,7 +104,6 @@ fn main() {
.manage(cookie_storage)
.manage(mail_queue)
.manage(mail_templates)
.register(catchers![helper::server_errors::unauthorized])
.mount(
"/",
routes![