first commit
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
"""Authentification admin — session cookie simple."""
|
||||
|
||||
from functools import wraps
|
||||
from fastapi import Request
|
||||
from fastapi.responses import RedirectResponse
|
||||
|
||||
|
||||
def is_authenticated(request: Request) -> bool:
|
||||
return request.session.get("authenticated") is True
|
||||
|
||||
|
||||
def require_auth(func):
|
||||
"""Décorateur pour les routes admin."""
|
||||
@wraps(func)
|
||||
async def wrapper(request: Request, *args, **kwargs):
|
||||
if not is_authenticated(request):
|
||||
return RedirectResponse(url="/admin/login", status_code=302)
|
||||
return await func(request, *args, **kwargs)
|
||||
return wrapper
|
||||
Reference in New Issue
Block a user