如何保存云代工厂的用户名和密码?

时间:2015-06-25 13:34:02

标签: cloudfoundry ibm-cloud

我可以使用以下方式登录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 - 这可能吗?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:-2)

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

关于如何在登录CLI之外保护凭据的更大问题,我推荐Pat Mueller的博客条目How your cloud application should access credentials and other private data:使用Cloud Foundry用户提供的服务,并使用本地定义的VCAP将密钥/值绑定到它。他建议使用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 服务适当访问权限的用户才能看到这些值。有关更多详细信息,请参阅上面引用的源文章。