我应该如何在Rails应用中存储第三方API身份验证令牌?

Sha*_*aun 5 soap ruby-on-rails ruby-on-rails-3.2

我正在使用Savon来使用SOAP API。此特定API的要求之一是在每个请求中向API提供身份验证令牌。也就是说,除了返回身份验证令牌本身的请求之外。该呼叫只需要一个用户名和密码。令牌在闲置20分钟后失效。

我的问题是,存储此令牌的最佳实践是什么?绝对不建议每次都发出两个请求,一个请求令牌,一个请求实际请求?

我正在考虑将其存储在会话变量中,但这意味着为每个访问者生成一个新令牌,我认为这是不必要的。但是,这意味着我可以很轻松地将其设置为20分钟的有效期。

如果我将其存储在数据库中,那么在没有大量额外逻辑的情况下,如何在调用API之前知道它是否已经过期?

还是我应该将其存储在数据库中,并且每隔几分钟就对API进行一次后台调用,以确保令牌永不过期?

还是我完全把树弄错了?

感谢您的任何建议。