Spaces:
Sleeping
Sleeping
auth
Browse files
app.py
CHANGED
|
@@ -27,8 +27,6 @@ MONGO_URI = os.getenv("MONGO_URI", "").strip()
|
|
| 27 |
MONGO_DB_NAME = os.getenv("MONGO_DB_NAME", "image_to_speech").strip()
|
| 28 |
MONGO_COLLECTION = os.getenv("MONGO_COLLECTION", "audio").strip()
|
| 29 |
MONGO_CAPTIONS_COLLECTION = os.getenv("MONGO_CAPTIONS_COLLECTION", "captions").strip()
|
| 30 |
-
FIREBASE_API_KEY = os.getenv("FIREBASE_API_KEY", "").strip()
|
| 31 |
-
|
| 32 |
ERRORS = {
|
| 33 |
"TOKEN_MISSING": "firebase_id_token is missing",
|
| 34 |
"TOKEN_INVALID": "Invalid Firebase token",
|
|
@@ -225,17 +223,27 @@ def _find_audio_doc(identifier: str):
|
|
| 225 |
return None
|
| 226 |
|
| 227 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 228 |
async def verify_firebase_token(firebase_id_token: str) -> dict:
|
| 229 |
"""Verify Firebase ID token using REST API."""
|
| 230 |
if not firebase_id_token:
|
| 231 |
raise HTTPException(status_code=401, detail=ERRORS["TOKEN_MISSING"])
|
| 232 |
-
|
|
|
|
| 233 |
raise HTTPException(
|
| 234 |
status_code=500,
|
| 235 |
detail="FIREBASE_API_KEY is missing in environment configuration",
|
| 236 |
)
|
| 237 |
|
| 238 |
-
url = f"https://identitytoolkit.googleapis.com/v1/accounts:lookup?key={
|
| 239 |
payload = {"idToken": firebase_id_token}
|
| 240 |
|
| 241 |
try:
|
|
@@ -335,6 +343,7 @@ def stream_audio(audio_id: str):
|
|
| 335 |
|
| 336 |
|
| 337 |
app = gr.mount_gradio_app(api, demo, path="/")
|
|
|
|
| 338 |
|
| 339 |
|
| 340 |
if __name__ == "__main__":
|
|
|
|
| 27 |
MONGO_DB_NAME = os.getenv("MONGO_DB_NAME", "image_to_speech").strip()
|
| 28 |
MONGO_COLLECTION = os.getenv("MONGO_COLLECTION", "audio").strip()
|
| 29 |
MONGO_CAPTIONS_COLLECTION = os.getenv("MONGO_CAPTIONS_COLLECTION", "captions").strip()
|
|
|
|
|
|
|
| 30 |
ERRORS = {
|
| 31 |
"TOKEN_MISSING": "firebase_id_token is missing",
|
| 32 |
"TOKEN_INVALID": "Invalid Firebase token",
|
|
|
|
| 223 |
return None
|
| 224 |
|
| 225 |
|
| 226 |
+
def _get_firebase_api_key() -> str:
|
| 227 |
+
# Read at runtime so env updates after restarts are reflected.
|
| 228 |
+
return (
|
| 229 |
+
os.getenv("FIREBASE_API_KEY", "").strip()
|
| 230 |
+
or os.getenv("FIREBASE_WEB_API_KEY", "").strip()
|
| 231 |
+
or os.getenv("FIREBASE_APIKEY", "").strip()
|
| 232 |
+
)
|
| 233 |
+
|
| 234 |
+
|
| 235 |
async def verify_firebase_token(firebase_id_token: str) -> dict:
|
| 236 |
"""Verify Firebase ID token using REST API."""
|
| 237 |
if not firebase_id_token:
|
| 238 |
raise HTTPException(status_code=401, detail=ERRORS["TOKEN_MISSING"])
|
| 239 |
+
firebase_api_key = _get_firebase_api_key()
|
| 240 |
+
if not firebase_api_key:
|
| 241 |
raise HTTPException(
|
| 242 |
status_code=500,
|
| 243 |
detail="FIREBASE_API_KEY is missing in environment configuration",
|
| 244 |
)
|
| 245 |
|
| 246 |
+
url = f"https://identitytoolkit.googleapis.com/v1/accounts:lookup?key={firebase_api_key}"
|
| 247 |
payload = {"idToken": firebase_id_token}
|
| 248 |
|
| 249 |
try:
|
|
|
|
| 343 |
|
| 344 |
|
| 345 |
app = gr.mount_gradio_app(api, demo, path="/")
|
| 346 |
+
log(f"FIREBASE API key present at startup: {bool(_get_firebase_api_key())}")
|
| 347 |
|
| 348 |
|
| 349 |
if __name__ == "__main__":
|