我有一个节点应用正在运行,几乎所有路由都需要访问实时Salesforce连接。
我有登录并连接到salesforce的导出。
# ./modules/sfTools.js
exports.conn = (req, res, next) => {
conn = new jsforce.Connection({
loginUrl: process.env.SF_LOGINURL
})
next()
}
然后登录代码在同一个文件中:
exports.login = (req, res, next) => {
conn.login(process.env.SF_USER, process.env.SF_PASS, (err) => {
console.log(err)
if(err) return next(err)
next()
})
}
在我的app.js中,我需要该模块,并app.use(sfTools.conn)
和app.use(sfTools.login)
。
这很好,但是如果我在任一功能中使用console.log,我会看到它在每个页面都调用它们,所以它不断创建新的连接。
conn.login返回一个instanceUrl和accessToken,文档说我以后可以保存用来建立连接,但我不知道accessToken有多长时间有用,但它最终会过期。
如何设置它以检查工作访问令牌,失败,使用用户名和密码登录,然后重复此过程,以便我不是每次都创建新的登录?