【问题标题】:What's the purpose of setting expiry of client token if I can just refresh tokens everytime?如果我每次都可以刷新令牌,那么设置客户端令牌到期的目的是什么?
【发布时间】:2021-12-15 21:43:24
【问题描述】:

我正在使用使用 Oauth2 的 Dailymotion API,他们的客户端令牌在 36000 秒(10 小时)后过期,所以我想使用提供的刷新令牌 URL 为每次调用创建新令牌。另外,我在文档中没有发现任何警告阻止我这样做,这是一种不好的做法吗?

【问题讨论】:

    标签: oauth-2.0 dailymotion-api


    【解决方案1】:

    为每个请求创建一个新令牌并不是最好的方法。

    在您的请求期间,您可以检查(例如:使用“尝试”)您的访问令牌是否已过期,然后仅在必要时使用您给定的刷新令牌请求新的。

    如果您使用 PHP、Python、Javascript 等语言......您可以使用已经实现这些机制的可用 SDK 节省大量时间。

    参见。 https://developer.dailymotion.com/tools/sdks/

    【讨论】:

      【解决方案2】:

      是的,这是一种不好的做法,尽管它是可行的。授权服务器可能会对您的客户端施加速率限制,因此在某些时候您将无法刷新令牌。

      出于安全原因,访问令牌必须具有过期时间。如果有人设法获得该令牌,他们将只能在指定时间内使用它。好的做法是尽可能缩短到期时间 - 例如5 或 15 分钟。 Dailymotion 使用的 10 小时在我看来有点多,但这是他们的决定。

      刷新令牌应由您的客户端安全保存,并且您通常需要客户端密码才能发出刷新请求。这意味着攻击者通常更难获得刷新令牌(或者一旦他们设法窃取它就使用它)。

      【讨论】:

        猜你喜欢
        • 2016-12-23
        • 2021-12-21
        • 2023-01-11
        • 1970-01-01
        • 2020-04-14
        • 2022-10-31
        • 2022-11-29
        • 2021-08-08
        • 1970-01-01
        相关资源
        最近更新 更多