2026.06.04 frontend építés közben
This commit is contained in:
@@ -14,18 +14,27 @@ def verify_password(plain_password: str, hashed_password: str) -> bool:
|
||||
def get_password_hash(password: str) -> str:
|
||||
return bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
|
||||
|
||||
def create_tokens(data: Dict[str, Any]) -> Tuple[str, str]:
|
||||
""" Access és Refresh token generálása UTC időzónával. """
|
||||
def create_tokens(data: Dict[str, Any], remember_me: bool = False) -> Tuple[str, str]:
|
||||
""" Access és Refresh token generálása UTC időzónával.
|
||||
|
||||
Args:
|
||||
data: Token payload adatok
|
||||
remember_me: Ha True, a refresh token lejárata 30 nap, egyébként 1 nap
|
||||
"""
|
||||
to_encode = data.copy()
|
||||
now = datetime.now(timezone.utc)
|
||||
|
||||
# Access Token
|
||||
# Access Token (mindig ugyanaz a lejárat)
|
||||
acc_expire = now + timedelta(minutes=settings.ACCESS_TOKEN_EXPIRE_MINUTES)
|
||||
access_payload = {**to_encode, "exp": acc_expire, "iat": now, "type": "access"}
|
||||
access_token = jwt.encode(access_payload, settings.SECRET_KEY, algorithm=settings.ALGORITHM)
|
||||
|
||||
# Refresh Token
|
||||
ref_expire = now + timedelta(days=settings.REFRESH_TOKEN_EXPIRE_DAYS)
|
||||
# Refresh Token lejárat a remember_me alapján
|
||||
if remember_me:
|
||||
ref_expire = now + timedelta(days=30) # 30 nap remember me esetén
|
||||
else:
|
||||
ref_expire = now + timedelta(days=1) # 1 nap alapértelmezett
|
||||
|
||||
refresh_payload = {"sub": str(to_encode.get("sub")), "exp": ref_expire, "iat": now, "type": "refresh"}
|
||||
refresh_token = jwt.encode(refresh_payload, settings.SECRET_KEY, algorithm=settings.ALGORITHM)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user