Loopbackjs 存储用于环回4应用程序的临时变量

Loopbackjs 存储用于环回4应用程序的临时变量,loopbackjs,loopback,Loopbackjs,Loopback,我有一个身份验证令牌,我想在多个环回4控制器中使用。此令牌过期。一旦过期,我运行一些登录逻辑来获取一个新的令牌 我的问题是我不确定如何或在哪里存储此令牌 所以我可以在整个应用程序中使用它,我想要么将令牌保存为环境变量,例如 process.env.AUTH_TOKEN = 'TEST'; 或者使用环回4的应用程序级上下文 这些解决方案是否适合存储此令牌?如果不是,还有什么替代方案? 在使用上下文的情况下,我将如何使用最佳实践进行此操作?考虑到以上所有评论,我建议您包装一个单独的模块,该模块将

我有一个身份验证令牌,我想在多个环回4控制器中使用。此令牌过期。一旦过期,我运行一些登录逻辑来获取一个新的令牌

我的问题是我不确定如何或在哪里存储此令牌

所以我可以在整个应用程序中使用它,我想要么将令牌保存为环境变量,例如

process.env.AUTH_TOKEN = 'TEST';
或者使用环回4的应用程序级上下文

这些解决方案是否适合存储此令牌?如果不是,还有什么替代方案?


在使用上下文的情况下,我将如何使用最佳实践进行此操作?

考虑到以上所有评论,我建议您包装一个单独的模块,该模块将封装与身份验证令牌相关的逻辑以及您如何使用它。即,新模块将负责:

  • 获取空的新令牌
  • 令牌的存储
  • 在令牌过期时刷新令牌
  • API调用的执行(或者您使用该令牌执行的任何操作,很抱歉,您的描述中不清楚这一点)可以移动到单独的模块,但情况不同
我想您的JavaScript模块可能看起来像:

让AUTH_TOKEN=”“;
函数makeAPICall(部分,参数){
如果(!AUTH_令牌){
获得newtoken();
}
如果(过期()){
刷新令牌();
}
return“some_data”;//TODO:在这里,您可以使用auth令牌执行您想要的操作并返回一些数据
}
函数acquireNewToken(){
authToken=“new_token”;//TODO:将获取新令牌的逻辑放在此处
}
函数refreshtToken(){
authToken=“new_token”;//TODO:将刷新令牌的逻辑放在此处
}
函数过期(){
return false;//TODO:将逻辑放在此处检查令牌是否过期
}
module.exports={
makeAPICall:makeAPICall

};它是什么类型的令牌?是每个应用程序或该应用程序的每个用户都有一个令牌,还是其他什么?如何检测令牌是否过期,以及应用程序的哪个部分调用该操作以获取新令牌?@PeterLiapin该令牌用于与我使用环回/服务代理模块设置的REST API交互。我的用例是每个应用程序一个令牌。@MiroslavBajtoš如果我试图与REST API交互,但收到一个身份验证错误,我打算运行登录逻辑来获取和保存一个新令牌。RESTAPI还提供了一个我可以使用的“保持活动”端点。@MiroslavBajtoš回答问题的第二部分。我有一个控制器,它使用服务代理模块定期从RESTAPI请求和保存数据。如果请求收到身份验证错误,此控制器将访问“登录”控制器,该控制器将获取(使用相同的服务)并保存新令牌。然后再次尝试原始请求。