如何知道何时联系刷新令牌端点?

时间:2019-04-08 15:44:14

标签: node.js express jwt

我试图构建一个Web应用程序和一个移动应用程序,所以我决定使用JWT处理身份验证。
我想知道在服务器和客户端上存储刷新令牌的位置,以及何时知道何时需要从客户端调用刷新令牌终结点?
我使用本地策略(电子邮件和密码)。
谢谢。

1 个答案:

答案 0 :(得分:0)

通常,您将拥有一个与服务器应用程序一起使用的数据库,因此您希望将JWT和用户的其他信息存储在该数据库中。只要您可以在对服务器的调用中使用提供的JWT从数据库中检索用户信息,任何数据库系统都可以使用。为了快速启动并运行,我建议尝试使用MongoDB之类的数据库。

如果您已经在使用本地存储来维护用户的电子邮件和密码,则可以使用相同的策略来存储客户端从服务器接收的JWT。虽然,我不建议将电子邮件和密码存储在浏览器的本地存储中,因为这是一个巨大的安全漏洞。最好的办法是将电子邮件和密码与JWT一起存储在数据库中,并且在给定JWT的情况下,可以在必要时在服务器上查找该信息。但是,这些信息永远不应存储在客户端本地。

由于每个JWT都有相应的到期日期,因此您可以在客户端使用一些代码来检查到期日期和时间,并弄清楚何时应该尝试为扩展了新版本的JWT刷新JWT。截止日期。请查看此documentation,以获取可用于与JWT交互的各种程序包的详细信息。 JWT中的到期日期字段称为exp,因此请在提供的文档链接中进行搜索。