“单设备登录(同端互斥)”功能和后台全局用户配置
This commit is contained in:
@@ -22,10 +22,15 @@ def verify_password(plain: str, hashed: str | None) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
def create_access_token(user_id: str, remember_me: bool = False, token_version: int = 0) -> str:
|
||||
def create_access_token(
|
||||
user_id: str,
|
||||
remember_me: bool = False,
|
||||
token_version: int = 0,
|
||||
device_type: str = "pc",
|
||||
) -> str:
|
||||
minutes = settings.JWT_EXPIRE_REMEMBER_MINUTES if remember_me else settings.JWT_EXPIRE_MINUTES
|
||||
expire = datetime.now(timezone.utc) + timedelta(minutes=minutes)
|
||||
payload = {"sub": user_id, "exp": expire, "ver": token_version}
|
||||
payload = {"sub": user_id, "exp": expire, "ver": token_version, "dev": device_type}
|
||||
return jwt.encode(payload, settings.SECRET_KEY, algorithm=settings.JWT_ALGORITHM)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user