jlcool / aliossflutter

阿里云oss flutter
Apache License 2.0
76 stars 47 forks source link

安全起见 sts需要访问后台拿到认证信息的,如果剥离出来可能更合理 #9

Closed liuchuancong closed 5 years ago

jlcool commented 5 years ago

什么意思?

liuchuancong commented 5 years ago

比如sts url后台去使用,我们拿到as,ak,等自己去处理。

jlcool commented 5 years ago

是不是说自签名?已经添加了,说明没写而已

liuchuancong commented 5 years ago

好吧

liuchuancong commented 5 years ago

endpoint = _call.argument("endpoint"); final String accessKeyId = _call.argument("accessKeyId"); final String accessKeySecret = _call.argument("accessKeySecret"); final String _id = _call.argument("id"); final OSSCustomSignerCredentialProvider credentialProvider = new OSSCustomSignerCredentialProvider() { @Override public String signContent(String content) { // 您需要在这里依照OSS规定的签名算法,实现加签一串字符内容,并把得到的签名传拼接上AccessKeyId后返回 // 一般实现是,将字符内容post到您的业务服务器,然后返回签名 // 如果因为某种原因加签失败,描述error信息后,返回nil

            // 以下是用本地算法进行的演示
            return OSSUtils.sign(accessKeyId, accessKeySecret, content);
        }
    };
    new Thread(new Runnable() {
        @Override
        public void run() {
            oss = new OSSClient(registrar.context(), endpoint, credentialProvider);
            Map<String, String> m1 = new HashMap();
            m1.put("result", "success");
            m1.put("id", _id);
            channel.invokeMethod("onInit", m1);
        }
    }).start();
liuchuancong commented 5 years ago

看到了谢谢啦

liuchuancong commented 5 years ago

@jlcool pub 仓库没更新,记得更新哈

qingweiSun commented 3 years ago

能否让服务器去签名,而不是本地自己签名