从OS X Keychain获取值到Gruntfile

时间:2015-04-12 05:58:56

标签: macos gruntjs keychain

在Gruntfile中,可以使用grunt.file.readJSON(...)从JSON文件加载值。是否有模块,插件等允许从OS X钥匙串加载值?

我正在寻找一种更安全的存储方式,例如,与Grunt一起使用的AWS凭据,而不仅仅是一些不会提交给我的git repo的随机JSON文件。

1 个答案:

答案 0 :(得分:3)

我不确定这是否是最佳方式,但我偶然发现使用the keytar node module。我添加了

var keytar = require('keytar');

在我的Gruntfile中的module.exports函数的顶部,获取了我想从钥匙串中读取的属性的值,如

aws: {
    key: keytar.getPassword('AWS-S3-AccessKeyId', 'example.com'),
    secret: keytar.getPassword('AWS-S3-SecretAccessKey', 'example.com')
},
grunt.initConfig({...})调用中

,并使用node REPL设置值:

keytar = require('keytar');
keytar.addPassword('AWS-S3-AccessKeyId', 'example.com', 'AccessKeyGoesHere')
keytar.addPassword('AWS-S3-SecretAccessKey', 'example.com', 'SuperSecretKeyHere')