node.js - Hashicorp 保险库:无法使用节点保险库写入秘密
问题描述
我正在编写一个使用 Hashicorp 保险库来存储密码和证书的应用程序。现在我正在使用默认的用户名/密码方法来验证我的客户端应用程序。
当我尝试添加一个秘密时,我{ statusCode: 301, body: undefined }
在设置apiVersion = v1
和设置为时{ statusCode: 404, body: { errors: [] } }
得到v2
。
配置:
let vaultOptions = {
apiVersion: 'v2',
endpoint: '0.0.0.0:8200'
};
const nodeVault = require('node-vault')(vaultOptions);
nodeVault.token = "secret token";
nodeVault.write('/secret/new', {"foo":"bar"}).then(
function (value: any) {
console.log(value);
})
.catch((err: any)=> {
console.log(err);
});
由于默认情况下已初始化保管库容器,因此我没有使用该init
功能。
我想知道我在这里错过了什么。
解决方案
该问题通过添加/data
到路径得到解决,并且请求数据必须在对象内{"data": .....}
。
nodeVault.write('/secret/data/new', {"data": {"foo":"bar"}}).then(
function (value: any) {
console.log(value);
})
.catch((err: any)=> {
console.log(err);
});
这是因为 Vault 容器正在运行v2 engine
推荐阅读
- numpy - 基于单列对结构化 Numpy 数组进行排序,同时保留其他列中的顺序
- javascript - 在 NestJS GraphQL 上开玩笑打开句柄 RANDOMBYTESREQUEST
- python - 如何更改 matplotlib 中 xtick 标签的文本方向,使其垂直堆叠?
- python - 根据子订单的数量将子上下文添加到父列表
- python - 使用 gcloud 在气流中创建连接的问题
- jenkins - 涉及 GitHub 的 Jenkins 和 Kubernetes 设计
- flutter - 无法在 @platform 演示应用程序上使用可测试的 @signs 登录
- javascript - 路由器道具和自定义道具与打字稿反应路由器dom用于功能组件
- python - 如何在 discord.py 中检查网站是否已启动并运行
- node.js - 解压 gzip 响应体