Refactor auth service to improve refresh token revocation handling and logging
This commit is contained in:
@@ -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."""
|
||||
|
||||
Reference in New Issue
Block a user