From 4f0a8e92ad83cf0fad4436f3265d3eec2c601c96 Mon Sep 17 00:00:00 2001 From: Muhammet Yazici <44066377+mtyazici@users.noreply.github.com> Date: Wed, 1 Nov 2023 09:41:48 +0300 Subject: [PATCH] fix: Add bearer prefix to Authorization header (#5740) ## Problem Some requests with `Authorization` header did not properly set the `Bearer ` prefix. Problem explained here https://github.com/neondatabase/cloud/issues/6390. ## Summary of changes Added `Bearer ` prefix to missing requests. --- compute_tools/src/spec.rs | 2 +- pageserver/src/control_plane_client.rs | 5 ++++- proxy/src/console/provider/neon.rs | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/compute_tools/src/spec.rs b/compute_tools/src/spec.rs index 6e4d4ccf49..3fa3cf055f 100644 --- a/compute_tools/src/spec.rs +++ b/compute_tools/src/spec.rs @@ -24,7 +24,7 @@ fn do_control_plane_request( ) -> Result { let resp = reqwest::blocking::Client::new() .get(uri) - .header("Authorization", jwt) + .header("Authorization", format!("Bearer {}", jwt)) .send() .map_err(|e| { ( diff --git a/pageserver/src/control_plane_client.rs b/pageserver/src/control_plane_client.rs index be4fcab75e..f50c19a629 100644 --- a/pageserver/src/control_plane_client.rs +++ b/pageserver/src/control_plane_client.rs @@ -57,7 +57,10 @@ impl ControlPlaneClient { if let Some(jwt) = &conf.control_plane_api_token { let mut headers = hyper::HeaderMap::new(); - headers.insert("Authorization", jwt.get_contents().parse().unwrap()); + headers.insert( + "Authorization", + format!("Bearer {}", jwt.get_contents()).parse().unwrap(), + ); client = client.default_headers(headers); } diff --git a/proxy/src/console/provider/neon.rs b/proxy/src/console/provider/neon.rs index 163cdfffc0..927fea0a13 100644 --- a/proxy/src/console/provider/neon.rs +++ b/proxy/src/console/provider/neon.rs @@ -49,7 +49,7 @@ impl Api { .endpoint .get("proxy_get_role_secret") .header("X-Request-ID", &request_id) - .header("Authorization", &self.jwt) + .header("Authorization", format!("Bearer {}", &self.jwt)) .query(&[("session_id", extra.session_id)]) .query(&[ ("application_name", extra.application_name), @@ -94,7 +94,7 @@ impl Api { .endpoint .get("proxy_wake_compute") .header("X-Request-ID", &request_id) - .header("Authorization", &self.jwt) + .header("Authorization", format!("Bearer {}", &self.jwt)) .query(&[("session_id", extra.session_id)]) .query(&[ ("application_name", extra.application_name),