我使用Box Api获得了Access Token但它在1小时内到期。 我想要的是,
要么我需要非过期访问令牌,要么通过将我的Box用户ID和密码传递给API来获取访问令牌。
如果可能的话,请让我知道。
提前致谢..
答案 0 :(得分:6)
您拥有所谓的承载令牌和刷新令牌。 Bearer令牌有效期为一小时,刷新令牌有效期为60天。刷新令牌可以换成另一对令牌,这会在您刷新时重置两个时钟。
Box没有你可以通过OAuth2中的用户名密码授予获得的令牌,因为这本身不适用于需要通过其ActiveDirectory / Okta / Ping / 2-factor / SecureID进行SSO的企业客户登录流动。
您可能想要的是一个SDK,可以为您处理令牌的刷新。大多数用户不必再次登录,除非他们去度假几周。 Box已经发布了several SDKs,所有这些都在github上发布了开源许可证。他们中的大多数都会自动为您刷新令牌。
我们最近还添加了一些增强功能(2014年初),以帮助多服务器实现更顺畅地使用刷新令牌流,包括允许您使用旧的刷新令牌在狭窄的地方多次获取新令牌时间窗口。这有助于多线程环境尝试跨多个线程(或服务器)获取新令牌。它还有助于您遇到网络中断并且实际上并未从初始刷新调用中获取新的令牌对。