diff --git a/backend/app/admin/api/v1/auth/auth.py b/backend/app/admin/api/v1/auth/auth.py index c2c588ae..1c22b10d 100644 --- a/backend/app/admin/api/v1/auth/auth.py +++ b/backend/app/admin/api/v1/auth/auth.py @@ -11,7 +11,6 @@ from backend.app.admin.schema.token import GetLoginToken, GetNewToken, GetSwagge from backend.app.admin.schema.user import AuthLoginParam from backend.app.admin.service.auth_service import auth_service from backend.common.response.response_schema import ResponseModel, ResponseSchemaModel, response_base -from backend.common.security.jwt import DependsJwtAuth router = APIRouter() @@ -41,7 +40,7 @@ async def create_new_token(request: Request) -> ResponseSchemaModel[GetNewToken] return response_base.success(data=data) -@router.post('/logout', summary='用户登出', dependencies=[DependsJwtAuth]) +@router.post('/logout', summary='用户登出') async def user_logout(request: Request, response: Response) -> ResponseModel: await auth_service.logout(request=request, response=response) return response_base.success() diff --git a/backend/app/admin/service/auth_service.py b/backend/app/admin/service/auth_service.py index 0e298eff..f549d2e8 100644 --- a/backend/app/admin/service/auth_service.py +++ b/backend/app/admin/service/auth_service.py @@ -211,7 +211,10 @@ class AuthService: :param response: FastAPI 响应对象 :return: """ - token = get_token(request) + try: + token = get_token(request) + except errors.TokenError: + return token_payload = jwt_decode(token) user_id = token_payload.id refresh_token = request.cookies.get(settings.COOKIE_REFRESH_TOKEN_KEY)