Browse Source

Match Go JWT error message: use "wrong jwt" instead of detailed error

rust-volume-server
Chris Lu 3 days ago
parent
commit
5d86a641ea
  1. 14
      seaweed-volume/src/server/handlers.rs

14
seaweed-volume/src/server/handlers.rs

@ -705,19 +705,19 @@ async fn get_or_head_handler_inner(
// so invalid paths with JWT enabled return 401, not 400. // so invalid paths with JWT enabled return 401, not 400.
let file_id = extract_file_id(&path); let file_id = extract_file_id(&path);
let token = extract_jwt(&headers, request.uri()); let token = extract_jwt(&headers, request.uri());
if let Err(e) =
if let Err(_) =
state state
.guard .guard
.read() .read()
.unwrap() .unwrap()
.check_jwt_for_file(token.as_deref(), &file_id, false) .check_jwt_for_file(token.as_deref(), &file_id, false)
{ {
return (StatusCode::UNAUTHORIZED, format!("JWT error: {}", e)).into_response();
return (StatusCode::UNAUTHORIZED, "wrong jwt".to_string()).into_response();
} }
let (vid, needle_id, cookie) = match parse_url_path(&path) { let (vid, needle_id, cookie) = match parse_url_path(&path) {
Some(parsed) => parsed, Some(parsed) => parsed,
None => return (StatusCode::BAD_REQUEST, "invalid URL path").into_response(),
None => return StatusCode::BAD_REQUEST.into_response(),
}; };
// Check if volume exists locally; if not, proxy/redirect based on read_mode. // Check if volume exists locally; if not, proxy/redirect based on read_mode.
@ -1681,7 +1681,7 @@ pub async fn post_handler(
{ {
return json_error_with_query( return json_error_with_query(
StatusCode::UNAUTHORIZED, StatusCode::UNAUTHORIZED,
format!("JWT error: {}", e),
"wrong jwt",
Some(&query), Some(&query),
); );
} }
@ -2216,7 +2216,7 @@ pub async fn delete_handler(
// JWT check for writes (deletes use write key) // JWT check for writes (deletes use write key)
let file_id = extract_file_id(&path); let file_id = extract_file_id(&path);
let token = extract_jwt(&headers, request.uri()); let token = extract_jwt(&headers, request.uri());
if let Err(e) = state
if let Err(_) = state
.guard .guard
.read() .read()
.unwrap() .unwrap()
@ -2224,7 +2224,7 @@ pub async fn delete_handler(
{ {
return json_error_with_query( return json_error_with_query(
StatusCode::UNAUTHORIZED, StatusCode::UNAUTHORIZED,
format!("JWT error: {}", e),
"wrong jwt",
Some(&del_query), Some(&del_query),
); );
} }
@ -2398,7 +2398,7 @@ pub async fn delete_handler(
} }
Err(e) => json_error_with_query( Err(e) => json_error_with_query(
StatusCode::INTERNAL_SERVER_ERROR, StatusCode::INTERNAL_SERVER_ERROR,
format!("delete error: {}", e),
format!("Deletion Failed: {}", e),
Some(&del_query), Some(&del_query),
), ),
} }

Loading…
Cancel
Save