CB-4441 mariadb fix clear auth attempt info (#2313)

Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
This commit is contained in:
Ainur
2024-01-23 19:14:51 +03:00
committed by GitHub
co-authored by Daria Marutkina
parent 76454a352d
commit f4fd603297
@@ -2858,12 +2858,13 @@ public class CBEmbeddedSecurityController<T extends WebAuthApplication>
public void clearOldAuthAttemptInfo() throws DBException {
try (Connection dbCon = database.openConnection()) {
JDBCUtils.executeStatement(dbCon,
database.normalizeTableNames("DELETE FROM {table_prefix}CB_AUTH_ATTEMPT_INFO AAI " +
database.normalizeTableNames("DELETE FROM {table_prefix}CB_AUTH_ATTEMPT_INFO " +
"WHERE EXISTS " +
"(SELECT 1 FROM {table_prefix}CB_AUTH_ATTEMPT AA " +
"LEFT JOIN {table_prefix}CB_AUTH_TOKEN CAT ON AA.SESSION_ID = CAT.SESSION_ID " +
"WHERE (CAT.REFRESH_TOKEN_EXPIRATION_TIME < ? OR CAT.EXPIRATION_TIME IS NULL) " +
"AND AA.AUTH_ID=AAI.AUTH_ID AND AUTH_STATUS='" + SMAuthStatus.EXPIRED + "') " +
"AND AA.AUTH_ID={table_prefix}CB_AUTH_ATTEMPT_INFO.AUTH_ID " +
"AND AUTH_STATUS='" + SMAuthStatus.EXPIRED + "') " +
"AND CREATE_TIME<?"),
Timestamp.valueOf(LocalDateTime.now()),
Timestamp.valueOf(LocalDateTime.now().minusMinutes(smConfig.getExpiredAuthAttemptInfoTtl()))