java-sdk
java-sdk copied to clipboard
自定义返回获取token时forceSaveKey参数不生效
自定义返回获取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); } } }); }
uploadToken 方法中最后一个参数设置为 false 在试下,设置为 true 的情况下 forceSaveKey 设置会不成功
public String uploadToken(String bucket, String key, long expires, StringMap policy) {
return uploadToken(bucket, key, expires, policy, false); // 这里的 uploadToken 方法中最后一个参数设置为 false 可以再试下
}
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
,最好还是加入为好,而不是通过设置strict
为false
相关代码