长期访问令牌与短期访问令牌和刷新令牌对

时间:2019-11-14 08:09:34

标签: authentication oauth-2.0 jwt openid-connect

我阅读了几篇文章,但仍然无法获得足够好的理解。到目前为止,我知道:

  1. 成功通过身份验证后,服务器会发回客户端用来进行授权的后续请求的访问令牌(例如jwt)。

  2. 但是此访问令牌可能会从客户端被盗。因此,我们将使其短暂。而且,我们使用刷新令牌续订访问令牌,而无需用户再次遵循身份验证过程。

问题:

我们在哪里保存刷新令牌?我们是否在初始成功身份验证后将其发送回客户端?还是我们将其存储在服务器上的某个地方(DB)?

如果我们将其发送回客户端,并且客户端正在使用刷新令牌来生成更多的短期访问令牌,则该刷新令牌也可能被盗。它如何使过程安全?维持长寿命的访问令牌是否足够安全?

谢谢。

1 个答案:

答案 0 :(得分:0)

要回答第一个问题,理想情况下,刷新令牌应与访问令牌一起返回给客户端。

为了使您的访问令牌/刷新令牌更加安全,您可以在服务器端生成并验证的JWT中添加一些浏览器特定的元数据,以避免令牌端的阻塞。

要了解有关一些良好的REST安全做法的更多信息,请参考此链接 https://github.com/OWASP/CheatSheetSeries/tree/master/cheatsheets