java-sdk icon indicating copy to clipboard operation
java-sdk copied to clipboard

自定义返回获取token时forceSaveKey参数不生效

Open guanghuishan opened this issue 5 years ago • 2 comments

自定义返回获取token时使用函数Auth.uploadToken时forceSaveKey参数不生效 public String uploadToken(String bucket, String key, long expires, StringMap policy) { return uploadToken(bucket, key, expires, policy, true); } 因为最终调用的函数copyPolicy会过滤掉部分参数,forceSaveKey就回不生效。字段「白名单」policyFields并不包含该参数 private static void copyPolicy(final StringMap policy, StringMap originPolicy, final boolean strict) { if (originPolicy == null) { return; } originPolicy.forEach(new StringMap.Consumer() { @Override public void accept(String key, Object value) { if (StringUtils.inStringArray(key, deprecatedPolicyFields)) { throw new IllegalArgumentException(key + " is deprecated!"); } if (!strict || StringUtils.inStringArray(key, policyFields)) { policy.put(key, value); } } }); }

guanghuishan avatar Jan 09 '20 07:01 guanghuishan

uploadToken 方法中最后一个参数设置为 false 在试下,设置为 true 的情况下 forceSaveKey 设置会不成功

public String uploadToken(String bucket, String key, long expires, StringMap policy) {
           return uploadToken(bucket, key, expires, policy, false); // 这里的 uploadToken 方法中最后一个参数设置为 false 可以再试下
}

forrest-mao avatar Jul 21 '20 15:07 forrest-mao

uploadToken 方法中最后一个参数设置为 false 在试下,设置为 true 的情况下 forceSaveKey 设置会不成功

public String uploadToken(String bucket, String key, long expires, StringMap policy) {
           return uploadToken(bucket, key, expires, policy, false); // 这里的 uploadToken 方法中最后一个参数设置为 false 可以再试下
}

你好forceSaveKey是合法的policy,最好还是加入为好,而不是通过设置strictfalse 相关代码

aboutZZ avatar Oct 20 '21 08:10 aboutZZ