我正在使用GAE Java开发一个Web应用程序,并使用Google Cloud Storage来存储图像 . 要求是:
-
Facebook身份验证 . 当用户通过身份验证时,我希望将他的 Profiles 图片上传到GCS .
-
我存储此类图像的存储桶显然不允许完全用户访问,只能读取访问权限
我设法使用Spring Social获取FB Profiles 图片并上传到GCS,但前提是我将所有用户设置为该存储桶的所有者或编写者 . 如何在应用程序中仅提供上载映像的写访问权限,但是为所有用户保留存储桶ACL到READ_ONLY?
2 回答
考虑使用signed URLs . 而不是授予匿名用户写入存储桶的权限,而是为他们提供一个签名URL,允许他们将一个特定对象写入存储桶 .
我设法解决了这个问题 . 我刚刚在应用程序设置下的App Engine控制台中复制了应用程序服务帐户名称,并将其作为新的“所有者”用户添加到存储桶(存储桶权限) . 所有其他用户只是“只读”