diff --git a/src-tauri/src/utils/clash.rs b/src-tauri/src/utils/clash.rs
index d562e34f82162ef4d0b94f8db19783f3f2d777d0..e216bc61822b6663af9fe6f49e425cc472ee36d6 100644
--- a/src-tauri/src/utils/clash.rs
+++ b/src-tauri/src/utils/clash.rs
@@ -98,12 +98,19 @@ pub async fn put_clash_profile(payload: &ClashInfoPayload) -> Result<(), String>
   }
   fs::copy(file_path, temp_path.clone()).unwrap();
 
-  let server = payload.controller.clone().unwrap().server.unwrap();
-  let server = format!("http://{}/configs", server);
+  let ctrl = payload.controller.clone().unwrap();
+  let server = format!("http://{}/configs", ctrl.server.unwrap());
 
   let mut headers = HeaderMap::new();
   headers.insert("Content-Type", "application/json".parse().unwrap());
 
+  if let Some(secret) = ctrl.secret {
+    headers.insert(
+      "Authorization",
+      format!("Bearer {}", secret).parse().unwrap(),
+    );
+  }
+
   let mut data = HashMap::new();
   data.insert("path", temp_path.as_os_str().to_str().unwrap());