Skip to content

Commit db5091d

Browse files
committed
fix: move cleanup function and minor log fixes
1 parent 3ca032b commit db5091d

2 files changed

Lines changed: 25 additions & 34 deletions

File tree

diracx-logic/src/diracx/logic/auth/management.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
from __future__ import annotations
44

5+
import logging
6+
57
from uuid_utils import UUID
68

79
from diracx.core.exceptions import InvalidCredentialsError
@@ -10,6 +12,8 @@
1012
from diracx.db.sql import AuthDB
1113
from diracx.logic.auth.utils import verify_dirac_refresh_token
1214

15+
logger = logging.getLogger(__name__)
16+
1317

1418
async def get_refresh_tokens(
1519
auth_db: AuthDB,
@@ -57,3 +61,24 @@ async def revoke_refresh_token_by_refresh_token(
5761
# Decode and verify the refresh token
5862
jti, _, _ = await verify_dirac_refresh_token(token, settings)
5963
return await revoke_refresh_token_by_jti(auth_db=auth_db, subject=subject, jti=jti)
64+
65+
66+
async def cleanup_expired_data(auth_db: AuthDB, settings: AuthSettings) -> None:
67+
"""Remove expired data from the auth database."""
68+
expired_tokens, revoked_tokens = await auth_db.clean_expired_refresh_token(
69+
max_validity=settings.refresh_token_expire_minutes,
70+
max_retention=settings.revoked_refresh_token_retention_days,
71+
)
72+
logger.info(
73+
f"Deleted {expired_tokens} expired and {revoked_tokens} revoked refresh tokens"
74+
)
75+
76+
auth = await auth_db.clean_expired_authorization_flows(
77+
max_retention=settings.completed_flow_retention_minutes,
78+
)
79+
logger.info(f"Deleted {auth} expired authorization flows")
80+
81+
device = await auth_db.clean_expired_device_flows(
82+
max_retention=settings.completed_flow_retention_minutes,
83+
)
84+
logger.info(f"Deleted {device} expired device flows")

diracx-logic/src/diracx/logic/auth/token.py

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import base64
66
import hashlib
7-
import logging
87
import re
98
from datetime import datetime, timedelta, timezone
109
from typing import cast
@@ -38,8 +37,6 @@
3837
verify_dirac_refresh_token,
3938
)
4039

41-
logger = logging.getLogger(__name__)
42-
4340

4441
async def get_oidc_token(
4542
grant_type: GrantType,
@@ -432,8 +429,6 @@ async def get_authorization_flow(auth_db: AuthDB, code: str, max_validity: int):
432429
"""Get the authorization flow from the DB and check few parameters before returning it."""
433430
res = await auth_db.get_authorization_flow(code, max_validity)
434431

435-
print(f"Flow status : {res['Status']}")
436-
437432
if res["Status"] == FlowStatus.READY:
438433
await auth_db.update_authorization_flow_status(code, FlowStatus.DONE)
439434
return res
@@ -442,32 +437,3 @@ async def get_authorization_flow(auth_db: AuthDB, code: str, max_validity: int):
442437
raise AuthorizationError("Code was already used")
443438

444439
raise AuthorizationError("Bad state in authorization flow")
445-
446-
447-
async def cleanup_expired_data(auth_db: AuthDB, settings: AuthSettings) -> None:
448-
"""Remove expired data from the auth database."""
449-
expired_tokens, revoked_tokens = await auth_db.clean_expired_refresh_token(
450-
max_validity=settings.refresh_token_expire_minutes,
451-
max_retention=settings.revoked_refresh_token_retention_days,
452-
)
453-
logger.info(
454-
"Deleted %d expired and %d revoked refresh tokens",
455-
expired_tokens,
456-
revoked_tokens,
457-
)
458-
459-
auth = await auth_db.clean_expired_authorization_flows(
460-
max_retention=settings.completed_flow_retention_minutes,
461-
)
462-
logger.info(
463-
"Deleted %d expired authorization flows",
464-
auth,
465-
)
466-
467-
device = await auth_db.clean_expired_device_flows(
468-
max_retention=settings.completed_flow_retention_minutes,
469-
)
470-
logger.info(
471-
"Deleted %d expired device flows",
472-
device,
473-
)

0 commit comments

Comments
 (0)