过于频繁地更新访问令牌是不好的做法吗?

时间:2018-06-18 09:18:05

标签: rest jwt token

我正在使用RESTful服务,该服务为我提供了一个有效一小时的访问令牌。每当我收到服务器的响应时,我会检查令牌是否已过期,如果有,我会续订并再次发送请求。

但这让我想到:每次我提出请求时,是什么让我无法获得新令牌?如果我在每个请求之前发送了一个新令牌请求,而不是在令牌实际到期时处理异常,我本来会保存几行代码。是否有任何技术原因可以避免这种情况?

2 个答案:

答案 0 :(得分:1)

如果您在每次通话时发出请求,可能会导致一些延迟问题。我的小时窗口非常庞大,如果你拨打电话,每次请求你最终会拨打太多电话只是为了获得一个令牌,当你拥有的东西非常好。 虽然说通常访问令牌在5到10分钟之间存在(如果它有效的持续时间更长,那就没有错,但这不是他们的意思。)您不应该等待从服务器获取401以刷新令牌。甚至在拨打服务器之前,您可以检查AT是否会在接下来的1分钟内过期,如果是,则刷新令牌。

如果您可以在请求上节省几毫秒,那么在代码中添加几行是一个很好的权衡。您节省的时间叠加并降低延迟

它为您节省的时间是您获取Access令牌所需的时间。

答案 1 :(得分:1)

  

是什么让我每次发出请求时都无法获得新令牌?

没有什么可以阻止您在每个请求上获得新的令牌。您将节省几行代码,但与此相反,这将增加对授权服务器的请求数量。

您拥有的令牌应有效期为1个小时。您不必询问每个请求是否仍然有效。只需使用,当资源服务器返回401 HTTP响应时,您就可以续订它。