Refactor auth service to improve refresh token revocation handling and logging

This commit is contained in:
JSC
2025-07-25 18:23:19 +02:00
parent e456d34897
commit 45ba28af52
2 changed files with 80 additions and 47 deletions

View File

@@ -231,11 +231,17 @@ class AuthService:
async def revoke_refresh_token(self, user: User) -> None:
"""Revoke a user's refresh token."""
user.refresh_token_hash = None
user.refresh_token_expires_at = None
self.session.add(user)
await self.session.commit()
logger.info("Refresh token revoked for user: %s", user.email)
try:
# Use the repository to update the user to ensure proper session handling
update_data = {
"refresh_token_hash": None,
"refresh_token_expires_at": None,
}
await self.user_repo.update(user, update_data)
logger.info("Refresh token revoked for user: %s", user.email)
except Exception:
logger.exception("Failed to revoke refresh token for user: %s", user.email)
raise
async def create_user_response(self, user: User) -> UserResponse:
"""Create a user response from a user model."""