gpt4 book ai didi

node.js - Azure Key Vault 上的回调

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:45 26 4
gpt4 key购买 nike

我正在使用 azure-keyvault 来存储 secret ,我想在我的配置文件中使用该 secret ,但在回调时遇到一些问题。问题是在调用 bookshelf.js 之前没有返回 secret ,并且密码是 未定义:

config.js:

var environment = process.env.NODE_ENV || 'development';
module.exports = require('./env/' + environment + '.js');

keyvault.js:

var sqlPassword =  function(){
var promise = new Promise(
function resolver(resolve, reject) {
var secretId = secrectUri + 'secrets/password';
client.getSecret(secretId, function(err, result) {
if (err) throw err;
resolve(result.value);
});
}
);
};

module.export = {
sqlPassword: sqlPassword()
};

env/development.js

var secret = require('../keyvault');

module.exports = {
db: {
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'sa',
password : secret.sqlPassword,
database : 'avin',
charset : 'utf8'
},
debug: true
}
};

bookshelf.js

var config = require('./config');

var knex = require('knex')(config.db);
var bookshelf = require('bookshelf')(knex);
bookshelf.plugin('registry');

module.exports = bookshelf;

app.js

var config = require('./config/config');

var express = require('express');
var app = express();
var bookshelf = require('./config/bookshelf');

app.get('/', function (req, res) {
res.send('Hello World!');
});

app.listen(8000, function () {
console.log('Example app listening on port 8000!');
});

最佳答案

您的代码有两个问题。

首先,您声明了 promise 对象,但从未调用过它。

keyvault.js

var sqlPassword =  function(){
//promise code
return promise;
};

module.exports = {
sqlPassword: sqlPassword
};

env/development.js

module.exports = {
db: {
//some other code
connection: {
password : secret.sqlPassword().then(function(result){
return result;
}),
},
//some other code
}
};

希望有帮助。

关于node.js - Azure Key Vault 上的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37772669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com