我需要帮助才能了解它是如何工作的?我们定义时钟偏差来处理两方之间的时间变化。但是,我的困惑是,
那么,为什么我们需要时钟偏差?任何人都可以举例说明它是如何工作的,在哪种情况下它会导致问题和帮助?
由于
答案 0 :(得分:1)
让我们考虑一个短期访问令牌。当我向服务器发出请求时,服务器将检查我的令牌是否已过期。它如何检查它是否知道令牌何时被创建并且它知道它现在是什么时候。大多数访问令牌在一小时后过期,但这实际上取决于它在auth服务器中的设置方式。因此,如果令牌是在一个多小时前创建的,则它已过期,并且用户会被告知。这就是我们尝试确保服务器与NTP同步的原因。
让我们首先考虑一下究竟什么是时钟偏差。如果我们有两个auth服务器怎么办?你怎么知道他们会有同一时间?如果他们实际上在几分钟后关闭怎么办?一台服务器将返回令牌已过期而另一台服务器不会。如果你是一家小公司,这可能并不重要。
现在考虑一下,如果您是一家拥有全球服务器的大型搜索引擎公司。让我们说它在2016年的秋天和夏令时开始了。现在你有一些服务器一次运行而另一些运行在另一个服务器上。也许只是某些国家在开始夏令时时决定改变,并且繁荣一堆令牌无缘无故地失效。 免责声明我不为上述搜索引擎公司工作。我只是看着这种情况发生了,这是我对发生的事情的理论。
为什么我们需要时钟偏差。
你不需要它,但如果你有两个auth服务器,你可以拥有它。所以你应该处理它。 https://softwareengineering.stackexchange.com/a/245182/160992
答案 1 :(得分:1)
这是评论中问题的答案。我无可奉告,没有声誉。
好的,Clock skew
不在您的计算机中发生。默认情况下,clock skew
设置为5 minutes
。这就是jwt token
未在所需时间到期的原因!
答案 2 :(得分:0)