18 lines
617 B
Python
18 lines
617 B
Python
from app.constants.result_code import ResultCode
|
|
from app.exception.err_exception import ErrException
|
|
from app.lib.jwt.factory import JwtFactory
|
|
from app.lib.jwt.jwt import Jwt
|
|
from app.lib.jwt.token import JwtToken
|
|
|
|
|
|
class BaseTokenService:
|
|
def __init__(self, jwt_factory: JwtFactory) -> None:
|
|
self.jwt_factory = jwt_factory
|
|
|
|
def get_jwt(self, scene: str = "admin") -> Jwt:
|
|
return self.jwt_factory.get(scene)
|
|
|
|
async def check_jwt(self, jwt: Jwt, token: JwtToken) -> None:
|
|
if await jwt.has_blacklist(token):
|
|
raise ErrException("token已过期", ResultCode.JWT_EXPIRED)
|