Oauth 时钟偏移和令牌

Oauth 时钟偏移和令牌,oauth,oauth-2.0,access-token,identityserver4,Oauth,Oauth 2.0,Access Token,Identityserver4,我需要帮助了解时钟倾斜是如何工作的。我们定义时钟偏差来处理双方之间的时间变化。但是,我的困惑是: 我们在令牌本身中拥有令牌创建时间和到期时间等所有信息 令牌可以被验证 令牌是在服务器上创建的 那么,为什么我们需要时钟倾斜呢?有人能给我一个例子,说明它是如何工作的,在哪些情况下它会引起问题或好处?让我们考虑一个短命的访问令牌。当我向服务器发出请求时,服务器将检查我的令牌是否已过期。它如何检查它是否知道令牌是何时创建的,以及现在是什么时候。大多数访问令牌在一小时后过期,但这实际上取决于它在身份验证服

我需要帮助了解时钟倾斜是如何工作的。我们定义时钟偏差来处理双方之间的时间变化。但是,我的困惑是:

  • 我们在令牌本身中拥有令牌创建时间和到期时间等所有信息
  • 令牌可以被验证
  • 令牌是在服务器上创建的

  • 那么,为什么我们需要时钟倾斜呢?有人能给我一个例子,说明它是如何工作的,在哪些情况下它会引起问题或好处?

    让我们考虑一个短命的访问令牌。当我向服务器发出请求时,服务器将检查我的令牌是否已过期。它如何检查它是否知道令牌是何时创建的,以及现在是什么时候。大多数访问令牌在一小时后过期,但这实际上取决于它在身份验证服务器中的设置方式。因此,如果令牌是在一个多小时前创建的,它将过期并通知用户。这就是为什么我们试图确保服务器与服务器同步

    让我们首先考虑时钟歪斜到底是什么。如果我们有两个身份验证服务器呢?你怎么知道他们会有相同的时间?如果他们真的离开了几分钟呢。一台服务器将返回令牌已过期,而另一台服务器不会返回。如果你是一家小公司,这可能并不重要

    现在考虑一下,如果你是一个拥有世界各地服务器的大型搜索引擎公司。假设是2016年秋天,夏令时开始了。现在,有些服务器在一个时间段运行,而另一些服务器在另一个时间段运行。也许只是一些国家决定改变,当他们开始夏令时,大量的代币会无缘无故地失效。免责声明我不为上述搜索引擎公司工作。我只是看着这一切发生,这是我关于发生了什么的理论

    为什么我们需要时钟倾斜


    你不需要它,但如果你有两个认证服务器,你可以有它。所以你应该处理好它

    好的,因此
    时钟偏移
    不会在您的机器中发生。默认情况下,
    时钟偏移
    设置为
    5分钟
    。这就是jwt令牌未在所需时间过期的原因。

    我必须进行设置,以确保调整计算机时钟的用户可以登录网站,更改小时/分钟,而不是设置正确的时区(例如,当DST启动时,将小时更改为+1,而不是使用DST标志或正确的时区),它会影响浏览器中的令牌验证,因为它会使计算机UTC时间戳不正确,然后浏览器会看到令牌总是过期。回答不错,但时钟偏移也会发生在同一台机器上。我有IdentityServer 4和使用IdentityServer的桌面应用程序,所以它们都在同一台机器上。IS4在本地主机中。根据设置,令牌未过期。它得到了修复时,增加了时钟歪斜设置!你能就这种情况提出一些建议吗?对不起,我从来没有见过这种情况发生在同一天machine@newbeedeveloper它发生在我和ids4的同一台机器上。你更改了什么设置来修复它?嘿,我面临着同样的问题。有人修好了吗?@NoymulIslamChowdhury你有什么问题?