5

我使用 Box Api 获得了访问令牌,但它会在 1 小时后到期。我在这里想要的是,

我需要永不过期的访问令牌,或者通过将我的 Box 用户 ID 和密码传递给 API 来获取访问令牌。

如果上述事情是可能的,请告诉我方法。

提前致谢..

4

1 回答 1

6

你有所谓的承载令牌和刷新令牌。Bearer 令牌有效期为 1 小时,Refresh 令牌有效期为 60 天。刷新令牌可以换成另一对令牌,这会在您进行刷新时重置两个时钟。

Box 没有您可以通过 OAuth2 中的用户名密码授权获得的令牌,因为这对于需要通过其 ActiveDirectory / Okta / Ping / 2-factor / SecureID 登录流程进行 SSO 的企业客户来说本质上不起作用。

您可能想要的是一个为您处理令牌刷新的 SDK。大多数用户不必再次登录,除非他们去度假几周。Box 已经发布了几个 SDK,都在 github 上具有开源许可证。他们中的大多数会自动为您刷新令牌。

我们最近(2014 年初)还添加了一些增强功能,以帮助多服务器实现更顺畅地使用刷新令牌流程,包括允许您使用旧刷新令牌在狭窄的时间窗口内多次获取新令牌. 这有助于尝试跨多个线程(或服务器)获取新令牌的多线程环境。它还有助于解决网络中断并且您实际上没有从初始刷新调用中取回新令牌对的情况。

于 2013-02-02T16:04:53.867 回答