diff --git a/app/auth.py b/app/auth.py index 4a34188..0d620c9 100644 --- a/app/auth.py +++ b/app/auth.py @@ -1,6 +1,6 @@ from __future__ import annotations -from datetime import datetime, timedelta +from datetime import UTC, datetime, timedelta import hashlib import re import secrets @@ -156,13 +156,13 @@ def create_access_token(data: dict, expires_delta: timedelta | None = None) -> s """创建访问令牌""" to_encode = data.copy() if expires_delta: - expire = datetime.utcnow() + expires_delta + expire = datetime.now(UTC) + expires_delta else: - expire = datetime.utcnow() + timedelta( + expire = datetime.now(UTC) + timedelta( minutes=settings.access_token_expire_minutes ) - to_encode.update({"exp": expire}) + to_encode.update({"exp": expire, "random": secrets.token_hex(16)}) encoded_jwt = jwt.encode( to_encode, settings.secret_key, algorithm=settings.algorithm )