From 0183e1b0bae830a7e4b2a2b01528bd2c01bbb529 Mon Sep 17 00:00:00 2001 From: Joshua Yin Date: Sat, 21 Mar 2020 01:29:49 +0800 Subject: [PATCH] =?UTF-8?q?*=20=E9=80=82=E9=85=8D=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=AD=96=E7=95=A5=EF=BC=88putPolicy=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ucloud/ufile/auth/bean/AuthRequest.java | 5 +++++ .../ufile/auth/service/UfileAuthService.java | 21 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/ufile-auth-server-java/src/main/java/cn/ucloud/ufile/auth/bean/AuthRequest.java b/ufile-auth-server-java/src/main/java/cn/ucloud/ufile/auth/bean/AuthRequest.java index 5926c94..3e061e0 100644 --- a/ufile-auth-server-java/src/main/java/cn/ucloud/ufile/auth/bean/AuthRequest.java +++ b/ufile-auth-server-java/src/main/java/cn/ucloud/ufile/auth/bean/AuthRequest.java @@ -21,6 +21,7 @@ public class AuthRequest { private String content_md5 = ""; private String date = ""; private String optional; + private String put_policy; public String getMethod() { return method; @@ -50,6 +51,10 @@ public class AuthRequest { return optional; } + public String getPut_policy() { + return put_policy; + } + @Override public String toString() { return new Gson().toJson(this); diff --git a/ufile-auth-server-java/src/main/java/cn/ucloud/ufile/auth/service/UfileAuthService.java b/ufile-auth-server-java/src/main/java/cn/ucloud/ufile/auth/service/UfileAuthService.java index be12b1a..0c7cbda 100644 --- a/ufile-auth-server-java/src/main/java/cn/ucloud/ufile/auth/service/UfileAuthService.java +++ b/ufile-auth-server-java/src/main/java/cn/ucloud/ufile/auth/service/UfileAuthService.java @@ -33,15 +33,30 @@ public class UfileAuthService { signData.append(request.getDate() + "\n"); signData.append("/" + request.getBucket()); signData.append("/" + request.getKey()); + if (request.getPut_policy() != null && !request.getPut_policy().isEmpty()) { + signData.append(request.getPut_policy()); + } String signature = signature(privateKey, signData.toString()); - return "UCloud " + publicKey + ":" + signature; - } catch (ValidatorException e) { + StringBuilder res = new StringBuilder("UCloud ") + .append(publicKey) + .append(":") + .append(signature); + + if (request.getPut_policy() != null && !request.getPut_policy().isEmpty()) { + res.append(":").append(request.getPut_policy()); + } + + return res.toString(); + } catch ( + ValidatorException e) { return e.getMessage(); - } catch (Exception e) { + } catch ( + Exception e) { return e.getMessage(); } + } public String calculatePrivateUrlAuthroization(AuthPrivateUrlRequest request) {