oauth -> HTTPAuth
Build and publish bnuy api / build (push) Successful in 13m57s

This commit is contained in:
2026-05-16 21:10:21 +02:00
parent 9115c05573
commit 716295b7fd
+4 -4
View File
@@ -3,7 +3,7 @@ import aiohttp
from fastapi import FastAPI, HTTPException, Request, UploadFile from fastapi import FastAPI, HTTPException, Request, UploadFile
from fastapi.responses import FileResponse from fastapi.responses import FileResponse
from fastapi import Depends, FastAPI from fastapi import Depends, FastAPI
from fastapi.security import OAuth2PasswordBearer from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
from pyrate_limiter import Duration, Limiter, Rate from pyrate_limiter import Duration, Limiter, Rate
from fastapi_limiter.depends import RateLimiter from fastapi_limiter.depends import RateLimiter
from fastapi import Depends from fastapi import Depends
@@ -33,7 +33,7 @@ logging.basicConfig(
handlers=[file_handler, console_handler], handlers=[file_handler, console_handler],
) )
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") security = HTTPBearer()
SECRET = os.getenv("SECRET") SECRET = os.getenv("SECRET")
@asynccontextmanager @asynccontextmanager
@@ -123,9 +123,9 @@ async def fetch_images():
await asyncio.sleep(86400) # Sleep for 24 hours await asyncio.sleep(86400) # Sleep for 24 hours
@app.post("/upload", dependencies=[Depends(RateLimiter(limiter=limiter))]) @app.post("/upload", dependencies=[Depends(RateLimiter(limiter=limiter))])
async def upload_image(file: UploadFile, request: Request, token: str = Depends(oauth2_scheme)): async def upload_image(file: UploadFile, request: Request, credentials: HTTPAuthorizationCredentials = Depends(security)):
# if SECRET isn't set, return Unauthrorized # if SECRET isn't set, return Unauthrorized
if token != SECRET or token is None: if credentials.credentials != SECRET or credentials.credentials is None:
raise HTTPException(status_code=401, detail="Unauthorized") raise HTTPException(status_code=401, detail="Unauthorized")
if not file: if not file:
raise HTTPException(status_code=400, detail="No file uploaded") raise HTTPException(status_code=400, detail="No file uploaded")