【问题标题】:Google OAuth's access token's expiry timezoneGoogle OAuth 访问令牌到期时区
【发布时间】:2014-03-19 07:23:06
【问题描述】:

我最近改用了 Google+ 登录 OAuth2 混合方法。

当请求代码交换访问令牌时,到期时间和创建时间将与访问令牌一起以秒为单位发回。

我需要知道发送的时区是什么。我需要这个来与我的服务器的时间进行比较,并能够推断出访问令牌是否实际上已经过期。

时区是什么或如何确定?

【问题讨论】:

  • 剩余时间。您现在可以添加它。
  • @DalmTo 你不明白这个问题。我可以做一个简单的算术比较expires_in + createdexpires_in + time()created 字段是特定时区的时间字段。 time() 给出我服务器上的当前时间。我最初认为created 是从 Google 发送的。在这种情况下,我需要知道他们的时区才能使我的比较有效。明白了吗?

标签: oauth oauth-2.0 google-plus google-oauth


【解决方案1】:

发回的令牌包不包括实际到期时间,但它确实包含令牌预期寿命的秒数。如果附加了时间,则它是由本地图书馆附加的。

也就是说 - 你不一定相信这个数字。令牌可能已被撤销或被视为不再有效的原因有很多。因此,虽然您可以使用它来估计何时需要获得一个新的 - 您还应该处理使用令牌并遇到身份验证错误的情况,迫使您刷新令牌并重试。

【讨论】:

    【解决方案2】:

    我的错。

    我刚刚浏览了 Google PHP APi 客户端库。只是在Google_Auth_OAuth2的身份验证方法中实现了在库中(在我的服务器上)设置的创建字段。

    因此使用$client->isAccessTokenExpired() 代替尝试进行计算是安全的。适用于当地时间(我猜:))

    谢谢。

    【讨论】:

      猜你喜欢
      • 2014-11-20
      • 2013-05-26
      • 2017-06-16
      • 1970-01-01
      • 2014-08-10
      • 2023-04-04
      • 1970-01-01
      • 2017-06-09
      • 2018-07-24
      相关资源
      最近更新 更多