Skip to content

Commit 48574fb

Browse files
authored
Update the token decode for logout interface (#629)
1 parent ee7fe30 commit 48574fb

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

backend/app/admin/service/auth_service.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,15 @@ async def logout(*, request: Request, response: Response) -> None:
213213
"""
214214
try:
215215
token = get_token(request)
216+
token_payload = jwt_decode(token)
217+
user_id = token_payload.id
218+
refresh_token = request.cookies.get(settings.COOKIE_REFRESH_TOKEN_KEY)
216219
except errors.TokenError:
217220
return
218-
token_payload = jwt_decode(token)
219-
user_id = token_payload.id
220-
refresh_token = request.cookies.get(settings.COOKIE_REFRESH_TOKEN_KEY)
221-
response.delete_cookie(settings.COOKIE_REFRESH_TOKEN_KEY)
221+
finally:
222+
response.delete_cookie(settings.COOKIE_REFRESH_TOKEN_KEY)
223+
224+
# 清理缓存
222225
if request.user.is_multi_login:
223226
await redis_client.delete(f'{settings.TOKEN_REDIS_PREFIX}:{user_id}:{token_payload.session_uuid}')
224227
if refresh_token:

0 commit comments

Comments
 (0)