amazon-web-services - 使用 JWT 进行自定义身份验证,以便从 S3 下载
问题描述
我在 AWS 上有一个设置,我在 ElasticBeanstalk/EC2 上运行一个后端,它将一些文件存储在 S3 中。我想做的是,当经过身份验证的(通过我的后端)用户想要下载文件时,他们可以直接从 S3 下载文件,而不是通过后端本身。
为此,我希望 S3 在允许文件下载之前检查签名的 JWT。现在,让我们假设任何正确签名的 JWT 都允许下载任何文件,而不管 JWT 声明如何。为了使这更加困难,我希望下载链接可以在 HTML 中使用<img src='link/to/s3/'>
,因此像往常一样在标头中发送 JWT 是不可行的。
S3甚至可以做到这一点吗?我将如何进行设置?
解决方案
我对 S3 不是很熟悉,但它不是已经有了“签名 URL ”的概念吗?
您的 Web 应用程序没有发出 JWT,而是使用 S3 专有方法生成一个 URL,该 URL 对到期时间和其他参数进行编码,但总体结果是相同的。
推荐阅读
- css - 在 bootstrap-vuejs 中将背景颜色更改为导航栏
- time - 关于大 O 符号的问题
- python-3.x - 训练/拆分数据后在 X_train 和 X_test 中获取 NaN
- scala - 只允许改编无类型的 ActorRefs
- ios - UserDefaults 在 SwiftUI 中与 Toggle 绑定
- excel - Exel - 将日期从“月日,年”转换为 DD/MM/YYYY
- angular - 在数组中搜索具有相同名称的对象并删除
- css - 带填充的内联块中断
- python - F-string,格式化帮助
- javascript - 从 JSON 字符串中提取嵌套元素