【问题标题】:Hashicorp vault: unable to write secret with node-vaultHashicorp 保险库:无法使用节点保险库写入秘密
【发布时间】:2019-05-28 19:16:22
【问题描述】:

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

当我尝试添加一个秘密时,我在设置apiVersion = v1{ statusCode: 404, body: { errors: [] } } 时得到{ statusCode: 301, body: undefined },当它设置为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 函数。

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

【问题讨论】:

    标签: node.js typescript hashicorp-vault


    【解决方案1】:

    通过在路径中添加/data 解决了这个问题,并且请求数据必须在对象{"data": .....} 中。

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

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

    【讨论】:

    • 您好,我遇到了完全相同的问题,但即使我根据您所做的更改,它仍然无法正常工作。还能是什么?谢谢!
    • @EmilioNumazaki 我已经很久没有做这个了。你能发布你得到的确切错误吗?
    • 嗨@Tony,最终解决方案正是您所做的,但在我必须启用路径之前。谢谢!
    • 我只是愚蠢还是 hashcorp 文档过时了:/
    猜你喜欢
    • 2023-03-02
    • 1970-01-01
    • 2023-02-03
    • 2022-12-04
    • 2022-08-08
    • 2018-04-28
    • 2020-01-06
    • 2020-12-16
    • 1970-01-01
    相关资源
    最近更新 更多