35 lines
919 B
Python
35 lines
919 B
Python
from enum import Enum
|
|
|
|
|
|
class ApiSecretStatus(Enum):
|
|
valid = "valid" # 秘钥有效
|
|
invalid = "invalid" # 秘钥无效
|
|
not_exist = "not_exist" # 秘钥不存在
|
|
|
|
|
|
class ApiSecretUtils():
|
|
def __init__(self):
|
|
self.cache = {}
|
|
|
|
# 验证秘钥状态
|
|
async def verify_secret(self, secret: str) -> ApiSecretStatus:
|
|
api_secret_status = self.cache.get(secret, None)
|
|
print("verify_secret", self.cache)
|
|
return api_secret_status or ApiSecretStatus.not_exist
|
|
|
|
# 保存秘钥状态
|
|
async def save_secret(self, secret: str, status: ApiSecretStatus):
|
|
print("save_secret", self.cache)
|
|
self.cache[secret] = status
|
|
|
|
# 移除秘钥缓存
|
|
async def remove_secret(self, secret: str):
|
|
# self.cache.pop(secret, None)
|
|
if secret in self.cache:
|
|
del self.cache[secret]
|
|
print("remove_secret", secret)
|
|
print(await self.verify_secret(secret))
|
|
|
|
|
|
api_secret_utils = ApiSecretUtils()
|