Spaces:
Running
Running
Saibalaji Namburi commited on
Commit ·
5e79601
1
Parent(s): 7074f09
fix: resolve token generation crash in production space and improve JS error handling
Browse files- src/api/auth.py +4 -5
- src/api/ui.py +5 -1
src/api/auth.py
CHANGED
|
@@ -64,12 +64,11 @@ def _get_secret_key() -> str:
|
|
| 64 |
"""
|
| 65 |
key = os.getenv("LITELLM_MASTER_KEY") or os.getenv("JWT_SECRET_KEY")
|
| 66 |
if not key:
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
"JWT signing key not found. Set LITELLM_MASTER_KEY or JWT_SECRET_KEY "
|
| 71 |
-
"via Doppler: doppler secrets set LITELLM_MASTER_KEY=sk-your-key"
|
| 72 |
)
|
|
|
|
| 73 |
return key
|
| 74 |
|
| 75 |
|
|
|
|
| 64 |
"""
|
| 65 |
key = os.getenv("LITELLM_MASTER_KEY") or os.getenv("JWT_SECRET_KEY")
|
| 66 |
if not key:
|
| 67 |
+
import logging
|
| 68 |
+
logging.getLogger(__name__).warning(
|
| 69 |
+
"JWT signing key not found. Using dev placeholder signing key."
|
|
|
|
|
|
|
| 70 |
)
|
| 71 |
+
return "dev-secret-jwt-signing-key-placeholder-only"
|
| 72 |
return key
|
| 73 |
|
| 74 |
|
src/api/ui.py
CHANGED
|
@@ -1061,13 +1061,15 @@ HTML_CONTENT = """<!DOCTYPE html>
|
|
| 1061 |
}, 3000);
|
| 1062 |
}
|
| 1063 |
|
| 1064 |
-
// Generate Token on Page Load / widget selection
|
| 1065 |
async function generateToken() {
|
| 1066 |
const tenant = document.getElementById('widget-tenant').value;
|
| 1067 |
const role = document.getElementById('widget-role').value;
|
| 1068 |
|
| 1069 |
try {
|
| 1070 |
const response = await fetch(`/api/v1/test-token?tenant_id=${tenant}&role=${role}`);
|
|
|
|
|
|
|
|
|
|
| 1071 |
const data = await response.json();
|
| 1072 |
if(data.token) {
|
| 1073 |
currentToken = data.token;
|
|
@@ -1080,6 +1082,8 @@ HTML_CONTENT = """<!DOCTYPE html>
|
|
| 1080 |
} else if(document.getElementById('hitl-view').classList.contains('active')) {
|
| 1081 |
loadHITLList();
|
| 1082 |
}
|
|
|
|
|
|
|
| 1083 |
}
|
| 1084 |
} catch(e) {
|
| 1085 |
console.error("Token generation failed", e);
|
|
|
|
| 1061 |
}, 3000);
|
| 1062 |
}
|
| 1063 |
|
|
|
|
| 1064 |
async function generateToken() {
|
| 1065 |
const tenant = document.getElementById('widget-tenant').value;
|
| 1066 |
const role = document.getElementById('widget-role').value;
|
| 1067 |
|
| 1068 |
try {
|
| 1069 |
const response = await fetch(`/api/v1/test-token?tenant_id=${tenant}&role=${role}`);
|
| 1070 |
+
if (!response.ok) {
|
| 1071 |
+
throw new Error(`HTTP error! status: ${response.status}`);
|
| 1072 |
+
}
|
| 1073 |
const data = await response.json();
|
| 1074 |
if(data.token) {
|
| 1075 |
currentToken = data.token;
|
|
|
|
| 1082 |
} else if(document.getElementById('hitl-view').classList.contains('active')) {
|
| 1083 |
loadHITLList();
|
| 1084 |
}
|
| 1085 |
+
} else {
|
| 1086 |
+
throw new Error("No token returned by API");
|
| 1087 |
}
|
| 1088 |
} catch(e) {
|
| 1089 |
console.error("Token generation failed", e);
|