Hashicorp 金库:无法使用节点金库写入机密

Ton*_*czz 1 node.js typescript hashicorp-vault

我正在编写一个使用 HashicorpVault 来存储密码和证书的应用程序。现在我正在使用默认的用户名/密码方法来验证我的客户端应用程序。

当我尝试添加秘密时,我在{ 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);
  });
Run Code Online (Sandbox Code Playgroud)

由于保管库容器默认已初始化,因此我没有使用该init功能。

我想知道我在这里缺少什么。

Ton*_*czz 6

/data通过添加路径解决了这个问题,而且请求数据必须位于对象内部{"data": .....}

nodeVault.write('/secret/data/new', {"data": {"foo":"bar"}}).then(
  function (value: any) {
    console.log(value);
  })
  .catch((err: any)=> {
    console.log(err);
  });
Run Code Online (Sandbox Code Playgroud)

这是因为保管库容器正在运行v2 engine