如何使用带有预定义访问令牌和刷新令牌的box-ios-sdk?

时间:2016-04-08 10:36:42

标签: ios objective-c box-api boxapiv2

我正在编写一个包含Box功能的框架,因为我正在使用box-ios-sdk。但是他们所有的身份验证方法都使用自己的流程。我必须输入appID和appSecret,然后启动进程以获取由sdk内部管理的访问令牌。

这笔交易是我已经我自己的OAuth2 Flow实现了,我已经有了boxAPoken和boxAPI的刷新令牌。那么如何使用(或者以某种方式初始化)box-ios-sdk以及我已经拥有的标记?

示例:

[[BOXOAuth2Session alloc] initWithAccesstoken:(NSString *) refreshToken:(NSString *) expireDate:(NSDate *)];

[[BoxClient alloc] initWithAccesstoken:(NSString *) refreshToken:(NSString *) expireDate:(NSDate *)];

我一直在深入研究documentation和源代码,但仍未找到任何可行的方法。

1 个答案:

答案 0 :(得分:3)

假设您已完全接管oAuth流程,包括在必要时间刷新访问令牌,您可以使用SDK的“App Users”模式。

以下是该文档: https://github.com/box/box-ios-sdk/blob/master/doc/AppUsers.md

在这种模式下,你基本上只需要在你正在使用的BOXContentClient上设置一个“BOXAPIAccessTokenDelegate”,然后实现“fetchAccessTokenWithCompletion:”委托方法来提供你自己的访问令牌。在此模式下,您只需确保“fetchAccessTokenWithCompletion:”的实现始终返回有效的访问令牌。