diff --git a/pom.xml b/pom.xml
index fd69301..0870a3d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,7 +47,7 @@
io.github.ren2003u
platform-sdk-java
- 1.0.3
+ 1.0.4
diff --git a/src/main/java/space/ao/services/support/platform/PlatformClient.java b/src/main/java/space/ao/services/support/platform/PlatformClient.java
index 96175cc..25e80dd 100644
--- a/src/main/java/space/ao/services/support/platform/PlatformClient.java
+++ b/src/main/java/space/ao/services/support/platform/PlatformClient.java
@@ -11,13 +11,18 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import space.ao.services.config.ApplicationProperties;
+import space.ao.services.support.OperationUtils;
import space.ao.services.support.platform.info.registry.ClientRegistryInfo;
import space.ao.services.support.platform.info.registry.ClientRegistryResult;
import space.ao.services.support.platform.info.registry.UserRegistryInfo;
import space.ao.services.support.platform.info.registry.UserRegistryResult;
+import space.ao.services.support.platform.info.token.TokenVerifySignInfo;
+import space.ao.services.support.security.SecurityUtils;
+import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.time.LocalDateTime;
+import java.util.Base64;
import java.util.List;
@ApplicationScoped
@@ -26,6 +31,11 @@ public class PlatformClient {
@Inject
ApplicationProperties properties;
+ @Inject
+ SecurityUtils securityUtils;
+
+ @Inject
+ OperationUtils utils;
private String host;
private Client client;
@@ -49,6 +59,8 @@ private void init() {
public UserRegistryResult registerUser(String requestId, UserRegistryInfo userRegistryInfo) {
init();
try {
+ LOG.info("requestId:{}",requestId);
+ LOG.info("UserRegistryInfo:{}",userRegistryInfo);
// Obtain BoxRegKey
String boxRegKey = obtainBoxRegKey(requestId);
if (boxRegKey == null) {
@@ -69,6 +81,7 @@ public UserRegistryResult registerUser(String requestId, UserRegistryInfo userRe
}
}
public ClientRegistryResult registerClient(String requestId, ClientRegistryInfo clientRegistryInfo, String userId) {
+ init();
try {
// Obtain BoxRegKey
String boxRegKey = obtainBoxRegKey(requestId);
@@ -91,13 +104,17 @@ public ClientRegistryResult registerClient(String requestId, ClientRegistryInfo
}
private String obtainBoxRegKey(String requestId) {
+ init();
try {
// Check if the cache is still valid
if (cachedBoxRegKey != null && lastFetchedTime != null && Duration.between(lastFetchedTime, LocalDateTime.now()).compareTo(CACHE_DURATION) <= 0) {
return cachedBoxRegKey;
}
-
- ApiResponse response = client.obtainBoxRegKey(properties.boxUuid(), List.of("10001"), requestId);
+ var sign = securityUtils.getSecurityProvider().signUsingBoxPrivateKey(requestId,
+ Base64.getEncoder().encodeToString(
+ utils.objectToJson(TokenVerifySignInfo.of(properties.boxUuid(), List.of("10001")))
+ .getBytes(StandardCharsets.UTF_8)));
+ ApiResponse response = client.obtainBoxRegKey(properties.boxUuid(), List.of("10001"), requestId,sign);
if (response.getError() != null) {
LOG.error("Error obtaining BoxRegKey: {}", response.getError().getMessage());
return null;
@@ -114,6 +131,7 @@ private String obtainBoxRegKey(String requestId) {
}
}
public void deleteUser(String requestId, String userId) {
+ init();
try {
// Obtain BoxRegKey
String boxRegKey = obtainBoxRegKey(requestId);
@@ -129,6 +147,7 @@ public void deleteUser(String requestId, String userId) {
}
}
public void deleteClient(String requestId, String userId, String clientUUID) {
+ init();
try {
// Obtain BoxRegKey
String boxRegKey = obtainBoxRegKey(requestId);