node.js - Node.js:在 consul kv get 中传递令牌
问题描述
我正在使用 consul 在我的 Node.js 项目中获取一些配置。
我能够使用下面给出的代码访问领事键值对。
import consul from 'consul';
(new consul()).kv.get('config', (err, result) => {
if (err) throw err;
console.log("result", result);
});
(使用 npm “领事”)
现在,我使用 ACL 保护了 consul 并创建了 3 个令牌:master_token、一个具有写访问权限的令牌和一个具有读访问权限的令牌
由于领事现在受到 ACL 保护,上面提到的代码向我显示“权限被拒绝”我如何在 kv.get 方法中传递这个令牌来验证我的请求?
提前致谢。
解决方案
初始化 consul 客户端时,您可以使用该defaults
选项定义应随每个查询发送的令牌。
import consul from 'consul';
var defaultRequestOptions = {
token: '43d8f1cb-3c73-44a2-a1d6-c4fe1b9b1537'
};
(new consul({defaults: defaultRequestOptions})).kv.get('config', (err, result) => {
if (err) throw err;
console.log("result", result);
});
有关可用默认选项的完整列表,请参阅通用方法调用选项。
推荐阅读
- javascript - 从 Angular 的下拉列表中删除选定的选项
- scala - Gatling 代理配置失败
- python - Python嵌套类:未定义自我
- python-3.x - Flask-socketio 没有收到来自客户端的消息
- javascript - React & Firebase - 进行多个 Firebase 调用并等待所有承诺完成
- python-3.x - 如何解决不正确的出生日期数据
- php - 在 WooCommerce 产品循环上显示可变产品的自定义价格范围
- spring - 如何在spring data jpa中使用和/或条件创建rest API
- ruby-on-rails - React-Rails 6 - 无法导入 node_modules 包
- kubernetes - 在 GKE 中以微秒为单位获取事件的时间戳(观察)