From dabcdc2464a0691885a10f2e80bfd1e41430e4d3 Mon Sep 17 00:00:00 2001 From: Yuriy Lytvynchuk Date: Fri, 18 Nov 2022 09:53:15 +0200 Subject: [PATCH] fix fetch device credentials --- .../metadata/TbFetchDeviceCredentialsNode.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNode.java index c93c70ff07..26cff6a96d 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNode.java @@ -30,6 +30,7 @@ import org.thingsboard.server.common.data.id.DeviceId; import org.thingsboard.server.common.data.id.EntityId; import org.thingsboard.server.common.data.plugin.ComponentType; import org.thingsboard.server.common.data.security.DeviceCredentials; +import org.thingsboard.server.common.data.security.DeviceCredentialsType; import org.thingsboard.server.common.msg.TbMsg; import org.thingsboard.server.common.msg.TbMsgMetaData; @@ -78,16 +79,20 @@ public class TbFetchDeviceCredentialsNode implements TbNode { } TbMsg transformedMsg; - String credentialsType = deviceCredentials.getCredentialsType().name(); + DeviceCredentialsType credentialsType = deviceCredentials.getCredentialsType(); JsonNode credentialsInfo = ctx.getDeviceCredentialsService().toCredentialsInfo(deviceCredentials); if (fetchToMetadata) { TbMsgMetaData metaData = msg.getMetaData(); - metaData.putValue(CREDENTIALS_TYPE, credentialsType); - metaData.putValue(CREDENTIALS, JacksonUtil.toString(credentialsInfo)); + metaData.putValue(CREDENTIALS_TYPE, credentialsType.name()); + if (credentialsType.equals(DeviceCredentialsType.ACCESS_TOKEN) || credentialsType.equals(DeviceCredentialsType.X509_CERTIFICATE)) { + metaData.putValue(CREDENTIALS, credentialsInfo.asText()); + } else { + metaData.putValue(CREDENTIALS, JacksonUtil.toString(credentialsInfo)); + } transformedMsg = TbMsg.transformMsg(msg, msg.getType(), originator, metaData, msg.getData()); } else { ObjectNode data = (ObjectNode) JacksonUtil.toJsonNode(msg.getData()); - data.put(CREDENTIALS_TYPE, credentialsType); + data.put(CREDENTIALS_TYPE, credentialsType.name()); data.set(CREDENTIALS, credentialsInfo); transformedMsg = TbMsg.transformMsg(msg, msg.getType(), originator, msg.getMetaData(), JacksonUtil.toString(data)); }