Hashicorp Vault:无法使用Node-Vault写入秘密

时间:2019-05-24 16:06:22

标签: node.js typescript hashicorp-vault

我正在编写一个使用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函数。

我想知道我在这里想念什么。

1 个答案:

答案 0 :(得分:1)

通过在路径中添加pip install --upgrade pytest-dependency 可以解决此问题,并且请求数据也必须位于对象/data内。

{"data": .....}

这是因为Vault容器在nodeVault.write('/secret/data/new', {"data": {"foo":"bar"}}).then( function (value: any) { console.log(value); }) .catch((err: any)=> { console.log(err); }); 上运行