0

我正在使用用户的访问令牌构建一个与 Github、Trello 和 Jenkins 集成的 hubot。用户必须使用 oauth 进行身份验证才能接收访问令牌。我收到的令牌,我对其进行加密并将其存储在 mongoDB 中。当用户请求某些东西时,hubot 必须使用用户的令牌调用特定的 API(即https://api.github.com/user/repos )。因此,hubot 必须从 mongoDB 中检索用户的令牌,对其进行解密并在请求中使用它。每次用户从该 API 询问某些内容时,上述过程(关于检索令牌)都会继续进行。

所以我要问的是,是否有办法在每次用户要求某些东西时避免这个过程。有没有办法让他们保持登录状态?类似于浏览器的快速会话。快速会话的问题是我必须使用 cookie,我猜这对于 hubot 来说是不可能的或非常困难的。我正在考虑使用redis大脑。这是个好主意吗?安全性如何?

谢谢!-安德烈亚斯

4

1 回答 1

0

您可以在内存中缓存令牌以避免每次都询问数据库。流程是:

  • 检查缓存是否存在令牌
  • 如果令牌存在,则返回它
  • 否则从数据库中获取令牌,将其存储到缓存中
  • 返回令牌
于 2017-08-10T13:55:21.907 回答