@@ -61,11 +61,11 @@ async def validateToken(self, token: Optional[str], trans: I18n):
6161 schema , param = get_authorization_scheme_param (token )
6262 if schema .lower () != "bearer" :
6363 return False , f"Token schema error!"
64- payload = jwt .decode (
65- param , settings .SECRET_KEY , algorithms = [security .ALGORITHM ]
66- )
67- token_data = TokenPayload (** payload )
6864 try :
65+ payload = jwt .decode (
66+ param , settings .SECRET_KEY , algorithms = [security .ALGORITHM ]
67+ )
68+ token_data = TokenPayload (** payload )
6969 with Session (engine ) as session :
7070 session_user = await get_user_info (session = session , user_id = token_data .id )
7171 if not session_user :
@@ -80,7 +80,10 @@ async def validateToken(self, token: Optional[str], trans: I18n):
8080 raise Exception (message )
8181 return True , session_user
8282 except Exception as e :
83- SQLBotLogUtil .exception (f"Token validation error: { str (e )} " )
83+ msg = str (e )
84+ SQLBotLogUtil .exception (f"Token validation error: { msg } " )
85+ if 'expired' in msg :
86+ return False , jwt .ExpiredSignatureError (trans ('i18n_permission.token_expired' ))
8487 return False , e
8588
8689
@@ -90,13 +93,14 @@ async def validateAssistant(self, assistantToken: Optional[str]) -> tuple[any]:
9093 schema , param = get_authorization_scheme_param (assistantToken )
9194 if schema .lower () != "assistant" :
9295 return False , f"Token schema error!"
93- payload = jwt .decode (
94- param , settings .SECRET_KEY , algorithms = [security .ALGORITHM ]
95- )
96- token_data = TokenPayload (** payload )
97- if not payload ['assistant_id' ]:
98- return False , f"Miss assistant payload error!"
96+
9997 try :
98+ payload = jwt .decode (
99+ param , settings .SECRET_KEY , algorithms = [security .ALGORITHM ]
100+ )
101+ token_data = TokenPayload (** payload )
102+ if not payload ['assistant_id' ]:
103+ return False , f"Miss assistant payload error!"
100104 with Session (engine ) as session :
101105 """ session_user = await get_user_info(session = session, user_id = token_data.id)
102106 session_user = UserInfoDTO.model_validate(session_user) """
0 commit comments