Fix cookie auth for API endpoints and clean up navbar

This commit is contained in:
2026-07-16 18:16:27 +07:00
parent d1128f4aa3
commit 677f6028d9
2 changed files with 7 additions and 3 deletions
+4 -1
View File
@@ -2,7 +2,7 @@ from datetime import datetime, timedelta, timezone
from typing import Optional
from jose import JWTError, jwt
from passlib.context import CryptContext
from fastapi import Depends, HTTPException, status
from fastapi import Depends, HTTPException, Request, status
from fastapi.security import OAuth2PasswordBearer
from sqlalchemy.orm import Session
from config import get_settings
@@ -50,9 +50,12 @@ def verify_token(token: str, token_type: str) -> Optional[dict]:
def get_current_user(
request: Request,
token: Optional[str] = Depends(oauth2_scheme),
db: Session = Depends(get_db),
) -> Optional[models.User]:
if not token:
token = request.cookies.get("access_token")
if not token:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
+3 -2
View File
@@ -21,13 +21,15 @@
<ul class="navbar-nav ms-auto align-items-center">
{% if user.role == 'admin' %}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">Admin</a>
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">{{ user.username }}</a>
<ul class="dropdown-menu dropdown-menu-end">
<li><a class="dropdown-item" href="/admin/users">Пользователи</a></li>
<li><a class="dropdown-item" href="/admin/settings">Настройки</a></li>
<li><a class="dropdown-item" href="/admin/audit">Аудит-лог</a></li>
</ul>
</li>
{% else %}
<li class="nav-item"><span class="nav-link">{{ user.username }}</span></li>
{% endif %}
<li class="nav-item me-3">
<a href="/notifications" class="nav-link position-relative">
@@ -39,7 +41,6 @@
{% endif %}
</a>
</li>
<li class="nav-item"><span class="nav-link">{{ user.username }}</span></li>
<li class="nav-item"><a class="nav-link" href="/" id="logout-link">Выйти</a></li>
</ul>
</div>