2016-04-08 4 views
2

Я пишу фреймворк, который обертывает функциональность Box, для этого я использую box-ios-sdk. Но все их методы аутентификации используют собственный поток. Я должен ввести appID и appSecret, а затем запустить процесс, чтобы получить токен доступа, который управляется внутри sdk.Как использовать box-ios-sdk с предопределенным токеном доступа и обновить токен?

Сделка в том, что У меня уже есть мой собственный поток OAuth2, у меня уже есть accessToken и токен обновления для boxAPI. Итак, как использовать (или инициализировать каким-то образом) box-ios-sdk с токенами, которые У меня уже есть?

Пример:

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

или

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

I`ve копал в documentation и исходный код, но до сих пор не нашли жизнеспособный способ сделать это.

ответ

3

Предполагая, что вы полностью перенесли поток oAuth, включая обновление токенов доступа в необходимые моменты времени, вы можете использовать режим «Пользователи приложений» SDK.

Вот документация для этого: https://github.com/box/box-ios-sdk/blob/master/doc/AppUsers.md

В этом режиме вы в основном просто нужно установить «BOXAPIAccessTokenDelegate» на BOXContentClient, что вы работаете, а затем реализовать «fetchAccessTokenWithCompletion:» делегат метод для предоставления вашего собственного токена доступа. В этом режиме вам просто нужно убедиться, что ваша реализация «fetchAccessTokenWithCompletion:» всегда возвращает действительный токен доступа.