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);