From f8158ee6aee6430b7c5a9999c6990e7fcb148c06 Mon Sep 17 00:00:00 2001 From: oyurov Date: Wed, 19 Oct 2022 15:25:33 +0200 Subject: [PATCH] Refactor --- .../security/system/DefaultSystemSecurityService.java | 6 +++++- .../thingsboard/server/dao/audit/AuditLogServiceImpl.java | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/security/system/DefaultSystemSecurityService.java b/application/src/main/java/org/thingsboard/server/service/security/system/DefaultSystemSecurityService.java index 2fe4c2d639..ed0e8eeb96 100644 --- a/application/src/main/java/org/thingsboard/server/service/security/system/DefaultSystemSecurityService.java +++ b/application/src/main/java/org/thingsboard/server/service/security/system/DefaultSystemSecurityService.java @@ -268,6 +268,7 @@ public class DefaultSystemSecurityService implements SystemSecurityService { String browser = "Unknown"; String os = "Unknown"; String device = "Unknown"; + String provider = null; if (authenticationDetails instanceof RestAuthenticationDetails) { RestAuthenticationDetails details = (RestAuthenticationDetails) authenticationDetails; clientAddress = details.getClientAddress(); @@ -308,9 +309,12 @@ public class DefaultSystemSecurityService implements SystemSecurityService { if (actionType == ActionType.LOGIN && e == null) { userService.setLastLoginTs(user.getTenantId(), user.getId()); } + if (user.getAdditionalInfo() != null && user.getAdditionalInfo().has("authProviderName")) { + provider = user.getAdditionalInfo().get("authProviderName").asText(); + } auditLogService.logEntityAction( user.getTenantId(), user.getCustomerId(), user.getId(), - user.getName(), user.getId(), null, actionType, e, clientAddress, browser, os, device, user.getAdditionalInfo()); + user.getName(), user.getId(), null, actionType, e, clientAddress, browser, os, device, provider); } private static boolean isPositiveInteger(Integer val) { diff --git a/dao/src/main/java/org/thingsboard/server/dao/audit/AuditLogServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/audit/AuditLogServiceImpl.java index b935307358..c3127b5278 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/audit/AuditLogServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/audit/AuditLogServiceImpl.java @@ -257,13 +257,13 @@ public class AuditLogServiceImpl implements AuditLogService { String browser = extractParameter(String.class, 1, additionalInfo); String os = extractParameter(String.class, 2, additionalInfo); String device = extractParameter(String.class, 3, additionalInfo); - JsonNode provider = extractParameter(JsonNode.class, 4, additionalInfo); + String provider = extractParameter(String.class, 4, additionalInfo); actionData.put("clientAddress", clientAddress); actionData.put("browser", browser); actionData.put("os", os); actionData.put("device", device); - if (provider != null && provider.has("authProviderName")) { - actionData.put("provider", provider.get("authProviderName").asText()); + if (org.springframework.util.StringUtils.hasText(provider)) { + actionData.put("provider", provider); } break; case PROVISION_SUCCESS: