fix(auth): add random string to avoid same token

This commit is contained in:
MingxuanGame
2025-08-19 13:43:54 +00:00
parent d139abb807
commit 65bd7ca7d0

View File

@@ -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
)