amazon-s3 - 如何在 javascript aws-sdk v3 中使用自定义凭据提供程序?
问题描述
我正在尝试从 javascript aws-sdk v2 迁移,但找不到任何有关如何迁移凭据的文档。我看到 s3 客户端的配置对象仍然存在credentials
并且需要一个Credentials
对象,但是文档中没有关于如何调用第三方 API 来获取令牌的内容。迁移指南或升级说明中也没有提到它。
我的 v2 凭据提供程序设置如下:
const MyCredentialsProvider = new AWS.Credentials({ secretAccessKey: USER })
MyCredentialsProvider.refresh = function refresh(callback) {
const self = this
getToken() // <-- custom API call
.then(token => {
self.accessKeyId = token
self.expired = false
self.expireTime = new Date(Date.now() + TOKEN_VALIDITY_PERIOD)
callback()
})
.catch(err => {
callback(err)
})
}
const s3Config = {
credentials: MyCredentialsProvider,
endpoint: 'my.non-amazon-s3.com',
region: 'us-west',
forcePathStyle: true,
maxRetries: isProd ? MAX_RETRIES : 2
}
据我所知,AWS.Credentials
在 v3 版本的 sdk 中没有类似的方法来刷新令牌。
解决方案
推荐阅读
- javascript - 如何使用 node js 中的 requestPromise 在 url 中动态填充 ${moduleName}、${value}、${key} 值
- java - 从 postgres 检索(印地语或英文字体数据)时的数据格式是什么
- java - 如何避免 JPA 一对多映射(同一模型中的两个一对多关系)中的冗余数据(列表获取)?
- apache - 无法访问 Letsencrypt SSL 站点
- python - 如何在 VSCode 的窗格中显示 python 环境对象?
- java - 登录时验证 BCrypt Hash 密码
- python - 在python中拆分键值字符串并将其移动到df列中
- python - 任何人都可以解释列表中 is 运算符的工作机制吗?
- visual-studio - 当我在手机中安装我的 apk 时,它显示“您要安装此应用程序吗?它不需要任何特殊访问权限。”
- javascript - mongoose -schema 选项针对特定字段更新