我的目标是为我网站的用户提供存储私人笔记的服务。 我希望用户可以信任该服务,因此我公司无法访问数据。
我可以通过google-cloud-storage和oauth-2.0身份验证来实现这一目标吗?我会使用Google Cloud Storage JSON API将笔记直接从浏览器发送到云中。
实现此目的的基本步骤是什么?
答案 0 :(得分:1)
根据您希望如何处理身份验证,有两种方法可以解决此问题。如果您想要确保您的应用无法访问对象且只有用户可以访问,则您需要用户拥有Google帐户并使用OAuth 2验证您的应用以充当其代理。
您的应用可能涉及一段JavaScript,它会提示用户通过Google进行身份验证,并授予其以其名称访问Google云端存储的权限。然后它会收到一个可以用作它们的令牌。从那里,它将使用该令牌上传注释,并且ACL仅向上传者授予权限。
上传的对象将进入您的存储桶,但它将由最终用户拥有。您可以删除它,但不能读取它,并且您的存储桶将被收取存储和访问费用。
此处的缺点是,您的所有用户都需要拥有可以在短时间内委托您的应用程序使用的Google帐户。
以下是有关OAuth 2交换的一些详细信息:https://developers.google.com/accounts/docs/OAuth2UserAgent
这是JavaScript客户端为您做了很多授权繁重的工作: https://code.google.com/p/google-api-javascript-client/
使用该库进行授权的示例: https://developers.google.com/api-client-library/javascript/samples/samples#AuthorizingandMakingAuthorizedRequests
另一种替代方案是用户可以通过签名网址使用您的凭据直接上传到云端,但是如果您沿着这条路走下去,您就可以在上传后阅读这些说明。