Google云端存储身份验证

时间:2014-05-20 09:56:19

标签: google-app-engine authentication google-cloud-storage google-cloud-endpoints blobstore

我构建了Google云端存储的Android应用链接。我想只允许访问我的Android应用程序GCS。

Google提供了三种安全连接到GCS的解决方案:

  • Oauth 2.0(使用谷歌帐户)
  • 以Cookie为基础的帐户(使用Google帐户)
  • 服务帐户身份验证(使用私钥,但在Android应用中本地安装:如果有人反编译我的.apk则非常糟糕)

来源:https://developers.google.com/storage/docs/authentication?hl=FR

是否有其他解决方案可以通过GCS安全连接? 我想以这种方式连接GCS (限制为Android客户端ID:SHA1到您的.apk):https://developers.google.com/appengine/docs/java/endpoints/auth

GCS可以吗?我应该使用Blobstore吗?

提前致谢

2 个答案:

答案 0 :(得分:4)

这是计算的一个基本问题。您永远不能完全相信在未知第三方完全控制下的硬件上运行的应用程序并未以某种方式被篡改。有许多技术可以使篡改变得更加困难,但远程系统永远不会是完全安全的。有几种方法可以验证用户是否拥有特定的Google帐户,但您无法轻易确信某个应用确实是您的应用。

也就是说,有很多方法可以在不信任客户端的情况下设计安全的应用程序。您的应用需要被授权做什么?上传对象?下载安全对象?用户伪装成应用程序可以做些什么吗?

答案 1 :(得分:0)

我认为您可以使用1)来验证信息。该应用程序会将身份验证请求转发到您的服务器(使用您自己的应用程序登录令牌),当用户通过您自己的服务验证时,该应用程序将收到oauth令牌以发送给gcloud并接收所需的文件。