在我的 Java 后端,每次我的前端加载/重新加载时,我都会生成一个新的签名 URL。出于测试目的,我对到期日期进行了硬编码。过期日期/时间已过,并且 URL 按预期过期,但我的前端应用程序仍然能够使用我传递给它的 URL 显示对象。
这是在每次刷新时执行的后端代码:
String signedUrl = CloudFrontUrlSigner.getSignedURLWithCannedPolicy(SignerUtils.Protocol.https,
distributionDomain, new File(privateKeyFilePath), s3ObjectKey, "my-keypair-id",
DateUtils.parseISO8601Date("2021-02-10T14:41:00.000Z"));
在我的前端,我只需将 signedUrl 添加到 Image 标签:
<Image style={styles.img} source={{ uri: img }} />
如果我转到浏览器并手动粘贴我的signedUrl,我可以看到它说访问被拒绝,因为过期。