在我的Node.js应用程序中,我使用OpenStack Swift(对象存储)作为存储服务。应用程序需要授权令牌才能访问存储服务,(小)问题是访问令牌需要在几个小时内刷新一次。 我应该如何为最终客户提供顺畅的体验?
该应用依赖于对存储服务的访问。 使用选项1将有效地限制我的客户端访问应用程序一秒钟。 这可能看起来没有什么,但如果你把它乘以客户的数量不是那么小。
如果应用程序依赖于某些需要授权的数据库/存储器执行此类服务器到服务器授权请求的行业标准是什么? 出于某种原因,从OpenStack Keyrock获取令牌需要花费大量时间(~1s),这就是我要问的原因。
注意:目前我无法影响令牌的生命周期。
答案 0 :(得分:1)
考虑到您无法更改身份验证令牌生命周期并且希望隐藏用户的授权刷新,这似乎只适合您的第二个选项。幸运的是,定时异步操作很容易在Node.js中实现。
最好让此更新服务依赖于超时阈值或到期时间。定义任意时间似乎不是最佳的。