我有一个允许用户上传文件的 Rails 应用程序。他们目前(通过 POST)上传到服务器,然后使用雾宝石将其上传到谷歌云存储。这样做的问题是,所有知道 URL 的人都可以使用文件,我想阻止这种情况。
所以现在我有两个问题要解决:
- 我想让用户直接从浏览器上传到 Google
- 我想阻止所有人下载文件,但登录到我的应用程序的用户
我已经下载了 Google API 生成的 p12 文件,但现在我被卡住了。根据文档,如果我理解正确,我需要生成密钥(使用 google-api-client gem 完成)和签名(未完成),然后将它们放入 POST 标头中?
有人有我可以使用的例子吗?
编辑:搞定了,秘密在互操作存储访问密钥和SHA1中,谷歌文档没有说。我很快会在一篇博文中介绍解决方案。