diff --git a/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java b/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java index e03f5e9493..b6a94bf9b3 100644 --- a/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java +++ b/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java @@ -263,7 +263,7 @@ public class DeviceProvisionServiceImpl implements DeviceProvisionService { !StringUtils.isEmpty(provisionRequest.getCredentialsData().getUsername()) || !StringUtils.isEmpty(provisionRequest.getCredentialsData().getPassword()) || !StringUtils.isEmpty(provisionRequest.getCredentialsData().getClientId())) { - DeviceCredentials deviceCredentials = new DeviceCredentials(); + DeviceCredentials deviceCredentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(savedDevice.getTenantId(), savedDevice.getId()); deviceCredentials.setCredentialsType(provisionRequest.getCredentialsType()); switch (provisionRequest.getCredentialsType()) { case ACCESS_TOKEN: @@ -281,6 +281,7 @@ public class DeviceProvisionServiceImpl implements DeviceProvisionService { deviceCredentials.setCredentialsValue(provisionRequest.getCredentialsData().getHash()); break; } + deviceCredentials.setCredentialsType(provisionRequest.getCredentialsType()); deviceCredentialsService.updateDeviceCredentials(savedDevice.getTenantId(), deviceCredentials); } return savedDevice; diff --git a/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java b/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java index b2c93a0ecb..eb2fdbc65e 100644 --- a/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java +++ b/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java @@ -315,8 +315,7 @@ public class DefaultTransportApiService implements TransportApiService { return TransportProtos.DeviceCredentialsProto.newBuilder() .setDeviceIdMSB(deviceCredentials.getDeviceId().getId().getMostSignificantBits()) .setDeviceIdLSB(deviceCredentials.getDeviceId().getId().getLeastSignificantBits()) - .setCredentialsType(deviceCredentials.getCredentialsType() == DeviceCredentialsType.ACCESS_TOKEN ? - CredentialsType.ACCESS_TOKEN : CredentialsType.X509_CERTIFICATE) + .setCredentialsType(TransportProtos.CredentialsType.valueOf(deviceCredentials.getCredentialsType().name())) .setCredentialsId(deviceCredentials.getCredentialsId()) .setCredentialsValue(deviceCredentials.getCredentialsValue() != null ? deviceCredentials.getCredentialsValue() : "") .build(); diff --git a/common/queue/src/main/proto/queue.proto b/common/queue/src/main/proto/queue.proto index e6dc171550..7c2ae80f9b 100644 --- a/common/queue/src/main/proto/queue.proto +++ b/common/queue/src/main/proto/queue.proto @@ -76,7 +76,7 @@ enum KeyValueType { enum CredentialsType { ACCESS_TOKEN = 0; X509_CERTIFICATE = 1; - BASIC_MQTT = 2; + MQTT_BASIC = 2; } message KeyValueProto { diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java index dd6938e17f..321ed22baa 100644 --- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java @@ -567,7 +567,7 @@ public class JsonConverter { .setPassword(getStrValue(jo, DataConstants.PASSWORD, false)) .build()) .setValidateDeviceX509CertRequestMsg(ValidateDeviceX509CertRequestMsg.newBuilder() - .setHash(getStrValue(jo, DataConstants.PASSWORD, false)).build()) + .setHash(getStrValue(jo, DataConstants.HASH, false)).build()) .build()) .setProvisionDeviceCredentialsMsg(buildProvisionDeviceCredentialsMsg( getStrValue(jo, DataConstants.PROVISION_KEY, true),