我正在开发基于 express和node.js 的应用程序服务器,该服务器将在Kubernetes容器上运行。该应用程序需要来自Oracle DB的数据。我可以连接到Oracle的唯一方法是使用Kerberos(企业策略规定了这一点)。
我已经有其他团队开发的Sidecar,这使我获得了TGT,但我无法连接OracleDB并通过TGT。找不到执行此操作的示例代码。.请提出建议吗?
我有
const oracledb = require('oracledb');
//...
//...
function connect () {
return new Promise((resolve, reject) => {
const db_user = process.env.DB_USER || 'user,
db_password = process.env.DB_PASSWORD || 'pwd',
db_host = process.env.DB_HOST || 'host',
db_port = process.env.DB_PORT || 'port',
db_database = process.env.DB_DATABASE || 'database';
const ticket = fs.readFileSync("krb5ccFile", 'utf8');
console.log(ticket);
oracledb.getConnection({
externalAuth : true,
connectString : db_host + ":" + db_port + "/" + db_database,
'WWW-Authenticate': 'Negotiate ' + ticket //not sure if this is correct ??
})
.then(connection => resolve(connection))
.catch(e => {
console.error('CONNECTION ERROR');
console.error(e);
reject(e);
});
});
}
//...
//...
期望连接成功并有望解决。