Many Chanegs
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
from fastapi.security.api_key import APIKeyHeader
|
||||
from fastapi import Security, HTTPException, Depends
|
||||
from starlette.status import HTTP_403_FORBIDDEN
|
||||
from pydantic_settings import BaseSettings
|
||||
from functools import lru_cache
|
||||
|
||||
api_key_header = APIKeyHeader(name="access_token", auto_error=False)
|
||||
|
||||
class Settings(BaseSettings):
|
||||
API_KEY: str
|
||||
class Config:
|
||||
env_file = ".env"
|
||||
|
||||
@lru_cache()
|
||||
def get_settings():
|
||||
return Settings()
|
||||
|
||||
async def get_api_key(settings: Settings = Depends(get_settings), api_key_header: str = Security(api_key_header)):
|
||||
print(settings)
|
||||
if api_key_header == settings.API_KEY:
|
||||
return api_key_header
|
||||
else:
|
||||
raise HTTPException(
|
||||
status_code=HTTP_403_FORBIDDEN, detail="Could not validate API KEY"
|
||||
)
|
||||
Reference in New Issue
Block a user