cloud foundry用户名和密码如何保存?

how to save cloud foundry username and password?

我可以使用以下方式登录 cloud-foundy/bluemix:

cf login -u my_cf_username -p my_cf_password

我可以设置环境变量来存储这些值(例如通过在 .bashrc.profile 中设置它们):

export cf_user=my_cf_username
export cf_pass=my_cf_password
cf login -u $cf_user -p $cf_pass

但是,理想情况下,我希望从属性文件中检索 Cloud Foundry 用户名和密码,例如$HOME/.cf - 这可能吗?

当前的 CF CLI 客户端无法做到这一点。 应该可以写一个 custom CF CLI Plugin 来处理这种行为。

如果您只是想避免登录步骤,bash 脚本是否足够(如 Reading username and password from file 和其他人所建议的)?

对于除了登录 CLI 之外如何保护凭据这一更大的问题,我推荐 Pat Mueller 的博客条目 How your cloud application should access credentials and other private data: Use a Cloud Foundry user-provided service and bind key/value to it with locally-defined VCAP. He recommends using the cfenv package,如下所示:

cfenv = require("cfenv")
var localVCAP = require("./local-vcap.json")
var appEnv = cfenv.getAppEnv({vcap: localVCAP})
var creds  = appEnv.getServiceCreds(/session-secret/) || {}
console.log("session secret is:", creds.secret)

然后使用 cf cups 命令创建用户提供的服务 (cups = create-user-provided-service)。要从给定服务访问凭据,请将 cups 绑定到它。他指出了这种方法的几个优点;我特别喜欢这些值仅对具有 cups 服务适当访问权限的用户可见。有关详细信息,请参阅上面引用的源文章。