我应该在哪里存储oauth访问令牌?

时间:2018-12-11 19:16:36

标签: javascript node.js express

我正在创建一个应用程序,正在使用第三方oauth提供程序对用户进行身份验证。

我正在从提供商那里获取访​​问令牌和令牌机密。

现在,每个api调用都需要那些访问tokenans令牌的秘密。所以我应该将其存储在我的Express应用程序中。我应该在会话中存储还是应该做其他事情。

我当前正在会话中存储,但读取后对csrf不利。

试图知道什么是最好的方法。

2 个答案:

答案 0 :(得分:0)

这些令牌应存储在数据库的“用户”表/集合中。这样,您可以在每次API调用之前轻松地从Users数据库表中获取它们。

答案 1 :(得分:0)

有几种方法可以做到这一点,这完全取决于您的能力。

秘密 将机密存储在数据库中(Redis,Mongo,SQL等)。 在这里,您将确保这是更安全的,并且您将能够从任何服务器上消费,而不仅仅是生成它的服务器。

令牌 您可以将其作为标头传递到您的FE,然后存储在cookie,本地存储或会话存储中,然后在每次请愿书中将其传递给您的BE,然后将其用作调用您的提供者。

这是我的方法,也许不是唯一的方法,但对我来说是最安全的方法。

希望这对您有帮助!