我开发了一个安卓移动应用程序,在其中它被用来上传图像并保存在s3中。当我上传照片时,我为该图像生成了一个预签名的URL,并将该URL保存在我的数据库中,因此每当应用程序加载保存的URL时,都会从我的数据库中调用保存的URL并显示图像。在我的例子中,预签名的URL会收到一个错误,指出令牌已过期。我需要使用上传时生成的网址从s3访问图像
发布于 2019-01-23 15:14:54
为安全起见,预签名URL具有与其关联的过期时间,您可以在创建预签名URL时指定该过期时间。对于过期时间,您可以设置的最小值为1,最大值为604800 (7天)。(参见https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
虽然你没有提到为你的预签名URL设置的过期时间,但一般来说,生成URL,将其存储在数据库中,并在应用程序中继续使用它的方法肯定会失败。您应该考虑动态计算URL (通过存储文件的位置详细信息),或者通过跟踪URL何时过期(数据库中可能有一个过期时间字段)并根据需要更新URL来对其进行优化
https://stackoverflow.com/questions/54002533
复制