在分布式系统中维护 Box 刷新/访问令牌
Maintaining Box refresh / access tokens in a disrtibuted system
我们有多个服务器访问 Box,因此我们关闭了自动刷新。
connect.setMaxRequestAttempts(1);
connect.setAutoRefresh(false);
从单元测试中收集的假设:
- 之前小于 1 小时的访问令牌仍可用于访问
- 一个令牌
对可以刷新多次,只要更新的令牌对
尚未用于访问。
鉴于此,您似乎可以有多个 readers,一个作者更新令牌对,即使 reader 获得前一个令牌对,也应该没问题(用于访问) .
我们确保系统中只有一个线程更新令牌,但尽管锁定了令牌更新,但仍存在 401 错误问题。上面的假设似乎有问题。
您的假设很接近。这是预期的行为:
- 令牌有效期为一小时,除非请求新令牌并且
用过的。
- 如果请求新令牌但未使用,则旧令牌是
仍然有效(假设不到一小时)。
- 如果请求并使用了新令牌,则旧令牌是
无效。
我们有多个服务器访问 Box,因此我们关闭了自动刷新。
connect.setMaxRequestAttempts(1);
connect.setAutoRefresh(false);
从单元测试中收集的假设:
- 之前小于 1 小时的访问令牌仍可用于访问
- 一个令牌 对可以刷新多次,只要更新的令牌对 尚未用于访问。
鉴于此,您似乎可以有多个 readers,一个作者更新令牌对,即使 reader 获得前一个令牌对,也应该没问题(用于访问) .
我们确保系统中只有一个线程更新令牌,但尽管锁定了令牌更新,但仍存在 401 错误问题。上面的假设似乎有问题。
您的假设很接近。这是预期的行为:
- 令牌有效期为一小时,除非请求新令牌并且 用过的。
- 如果请求新令牌但未使用,则旧令牌是 仍然有效(假设不到一小时)。
- 如果请求并使用了新令牌,则旧令牌是 无效。