Node.js 使用Nodejs实现Credhub

Node.js 使用Nodejs实现Credhub,node.js,cloud-foundry,pcf,Node.js,Cloud Foundry,Pcf,是否有人尝试过使用Nodejs代码通过VCAP_服务访问credhub引用的凭据?我不确定cfenv是否会有所帮助Parse.JSON似乎也不起作用(因为凭证在credhub中没有以键值形式返回) 像这样的 authName = vcapServices.credhub[i].credentials.adminUsername; 我找到了解决办法。不需要使用凭据节点,也不需要包含任何额外的库。这将获取所需的字段。authName=vcapServices.credhub.adminUserna

是否有人尝试过使用Nodejs代码通过VCAP_服务访问credhub引用的凭据?我不确定cfenv是否会有所帮助
Parse.JSON
似乎也不起作用(因为凭证在credhub中没有以键值形式返回) 像这样的

authName = vcapServices.credhub[i].credentials.adminUsername;

我找到了解决办法。不需要使用凭据节点,也不需要包含任何额外的库。这将获取所需的字段。authName=vcapServices.credhub.adminUsername;通常情况下,您不需要与CredHub交谈。在应用程序启动之前,平台将用CredHub的实际值替换VCAP_服务中的CredHub占位符。因此,你的应用程序应该继续做它一直做的事情,并从VCAP_服务中获取信息。你看到的是相反的东西吗?(注意,如果您在中
cf ssh
,您将只看到占位符)谢谢Daniel,是的,它在没有任何更改的情况下对spring boot应用程序起到了作用。但在一些节点js和Python应用程序中,我们通过静态路径(在“用户提供的”服务实例中)手动引用凭据,例如:authName=vcapServices['user-provided'][i].credentials.adminUsername;其中as credhub是credhub服务代理类型实例。类似地,对于Python应用程序-request=pcf_connection.request('/v2/user_提供的_服务_实例')。平台应该插入所有的
VCAP_服务
,所以你真的不需要这样做,它是代表你调用interpolate API调用->。你当然可以自己联系CredHub,这听起来像是你在做的,但在大多数情况下没有必要。我的建议是看看你是否可以不直接和CredHub交谈就得到你需要的东西。即使使用CredHub服务代理,您也不需要这样做。如果你觉得有必要,更新你的问题并解释。谢谢丹尼尔。我必须对现有的代码进行更改,所以我正在寻找这个选项。