在我的Android应用程序中,我将一些数据存储在云存储中,而我只希望我的应用程序使用它。因此,存储桶中的文件具有公共链接,每个人都可以访问它,因为他有链接。
所以我相信不安全的人可能反编译或检查我的应用程序请求,因此获取所有链接并使用它们下载我的应用程序机密的数据或使用该链接为他自己的应用程序,从而增加我的付款。
我必须使用链接获取文件,以便用于下载第三方下载管理器库。
我无法使用Firebase
,因为我认为我的链接无法在我的第三方库中使用!
如何仅使用我签名的应用程序包名称使链接可用?
答案 0 :(得分:1)
在Google云端存储空间中共享您的存储分区中的公共链接只会使文件公开可读[1]。因此,能够按照您的建议由未经授权的用户进行修改将不仅在您的应用程序上而且在整个Google云平台上都会成为安全问题。
但是,如果您正在考虑其他访问控制机制,我建议您阅读文档[2]。
另一方面,使用签名URL可以在有限的时间内[3]访问读取,写入或删除资源。事实上,任何有权访问签名URL的人都可以访问该资源,直到URL过期。但是,在应用程序代码中创建签名URL时,程序会构造一个将要签名的字符串。您可以选择使用App Engine的服务帐户凭据[4]在程序中或使用App Engine身份服务在Google App Engine应用程序中签署此字符串,从而强制执行额外的安全性App Engine的服务帐户凭据。
有关在Java see this link中为云存储对象生成签名网址的方法示例。