Fix auth crashes + add CI/CD workflow
Deploy Dashboard / deploy (push) Failing after 6m59s

- Fix jose->pyjwt import mismatch
- Fix bcrypt->pbkdf2 password hashing
- Fix Sidebar logout prop (ReferenceError)
- Add .gitea/workflows/deploy.yml for automated deployment
This commit is contained in:
Gan, Jimmy
2026-02-19 10:04:38 +08:00
parent 651bc0580e
commit 75c89b1ef9
5 changed files with 24 additions and 9 deletions
+4 -4
View File
@@ -1,6 +1,6 @@
from datetime import datetime, timedelta
from typing import Optional
from jose import JWTError, jwt
import jwt
from passlib.context import CryptContext
import pyotp
from fastapi import Depends, HTTPException, status
@@ -8,7 +8,7 @@ from fastapi.security import OAuth2PasswordBearer
import config
# Password handling
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
pwd_context = CryptContext(schemes=["pbkdf2_sha256"], deprecated="auto")
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="api/auth/login")
def verify_password(plain_password, hashed_password):
@@ -42,7 +42,7 @@ async def get_current_user(token: str = Depends(oauth2_scheme)):
# For this single-user system, we just check if it matches config.
if username != config.ADMIN_USER:
raise credentials_exception
except JWTError:
except jwt.PyJWTError:
raise credentials_exception
return username
@@ -56,7 +56,7 @@ async def get_current_user_ws(token: str):
username: str = payload.get("sub")
if username is None or username != config.ADMIN_USER:
raise credentials_exception
except JWTError:
except jwt.PyJWTError:
raise credentials_exception
return username