docs: improve openapi documentation

closes #6
This commit is contained in:
Felix Spöttel
2023-02-08 17:23:59 +01:00
parent d9ce63ee39
commit 4f020853b6
9 changed files with 95 additions and 34 deletions

View File

@@ -1,16 +1,16 @@
from hmac import compare_digest
from fastapi import Depends, HTTPException
from fastapi.security import OAuth2PasswordBearer
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
from app.shared.settings import settings
def authenticate_api_key(
token: str = Depends(OAuth2PasswordBearer(tokenUrl="token")),
credentials: HTTPAuthorizationCredentials = Depends(HTTPBearer(auto_error=False)),
) -> None:
if not token:
raise HTTPException(status_code=422)
# use compare_digest to counter timing attacks.
if not compare_digest(settings.API_SECRET, token):
if not credentials or not compare_digest(
settings.API_SECRET, credentials.credentials
):
raise HTTPException(status_code=401)