This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new d9bd740c1 [INLONG-4965][Manager] Fix np exception on user query api
(#4971)
d9bd740c1 is described below
commit d9bd740c13ff510d97d62446a1e55da2b0e12f35
Author: woofyzhao <[email protected]>
AuthorDate: Mon Jul 11 17:46:51 2022 +0800
[INLONG-4965][Manager] Fix np exception on user query api (#4971)
---
.../manager/service/core/impl/UserServiceImpl.java | 27 ++++++++++++----------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/UserServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/UserServiceImpl.java
index 99c78b779..dcb90fa12 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/UserServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/UserServiceImpl.java
@@ -22,6 +22,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.inlong.manager.common.enums.UserTypeEnum;
import org.apache.inlong.manager.common.exceptions.BusinessException;
import org.apache.inlong.manager.common.pojo.user.PasswordChangeRequest;
@@ -78,18 +79,20 @@ public class UserServiceImpl implements UserService {
result.setValidDays(DateUtils.getValidDays(entity.getCreateTime(),
entity.getDueDate()));
result.setType(entity.getAccountType());
- try {
- // decipher according to stored key version
- // note that if the version is null then the string is treated as
unencrypted plain text
- Integer version = entity.getEncryptVersion();
- byte[] secretKeyBytes =
AESUtils.decryptAsString(entity.getSecretKey(), version);
- byte[] publicKeyBytes =
AESUtils.decryptAsString(entity.getPublicKey(), version);
- result.setSecretKey(new String(secretKeyBytes,
StandardCharsets.UTF_8));
- result.setPublicKey(new String(publicKeyBytes,
StandardCharsets.UTF_8));
- } catch (Exception e) {
- String errMsg = String.format("decryption error: %s",
e.getMessage());
- log.error(errMsg, e);
- throw new BusinessException(errMsg);
+ if (StringUtils.isNotBlank(entity.getSecretKey()) &&
StringUtils.isNotBlank(entity.getPublicKey())) {
+ try {
+ // decipher according to stored key version
+ // note that if the version is null then the string is treated
as unencrypted plain text
+ Integer version = entity.getEncryptVersion();
+ byte[] secretKeyBytes =
AESUtils.decryptAsString(entity.getSecretKey(), version);
+ byte[] publicKeyBytes =
AESUtils.decryptAsString(entity.getPublicKey(), version);
+ result.setSecretKey(new String(secretKeyBytes,
StandardCharsets.UTF_8));
+ result.setPublicKey(new String(publicKeyBytes,
StandardCharsets.UTF_8));
+ } catch (Exception e) {
+ String errMsg = String.format("decryption error: %s",
e.getMessage());
+ log.error(errMsg, e);
+ throw new BusinessException(errMsg);
+ }
}
log.debug("success to get user info by id={}", userId);