Как убедиться, что мои приложения поддерживают недолговечные токены доступа Dropbox?

Некоторое время назад я добавил поддержку Dropbox в свои приложения и с тех пор никогда не прикасался к реализации. Он по-прежнему работает нормально. Однако несколько месяцев назад Dropbox обновил способ обработки разрешений. что может потребовать изменения кода в моих приложениях. Как объяснили в Dropbox, я должен проверить, работают ли мои приложения с недолговечными токенами доступа.

Документы Dropbox описывают необходимые изменения при непосредственном использовании их API, но я использую разные версии их официального SDK в своих приложениях:

  • iOS: ObjectiveDropboxOfficial 3.1.2
  • macOS: ObjectiveDropboxOfficial 2.0.6
  • Android: dropbox-core-sdk 3.0.6

Как уже было сказано, я некоторое время не менял и не обновлял код Dropbox в своих приложениях. Доступны более новые версии SDK, и я скоро их обновлю. Однако я не уверен, как проверить, поддерживают ли существующие версии моих приложений, использующие эту версию SDK, недолговечные токены доступа или нет. Как это проверить?

Я только настроил код SDK (предоставив ключ API и т. д.), и все вызовы API, токены и т. д. обрабатываются SDK. Как узнать, корректно ли работают эти версии SDK с обновленным API?


person Andrei Herford    schedule 10.03.2021    source источник


Ответы (1)


Официальные SDK Dropbox были обновлены для поддержки краткосрочных токенов доступа, начиная с v5.0.2 для SDK Dropbox Objective-C и v3.1.0 для Dropbox Java SDK.

Вы должны обновиться до последних версий, а затем обновить свой код, чтобы использовать последние методы для потока авторизации, как указано здесь для SDK Objective-C и здесь для использования Java SDK в приложении для Android.

Сделав это, вы должны протестировать весь процесс авторизации приложения, выйдя и снова войдя в каждую версию приложения, наряду с любым другим тестированием, которое вы обычно выполняете.

person Greg    schedule 10.03.2021
comment
Звучит невероятно, но при использовании последней версии Dropbox SDK для Android с недолговечной учетной записью токенов мое приложение отлично работает даже после упомянутых 4 часов с момента первоначальной авторизации. С моей стороны никаких изменений в коде не было. Выполняет ли Dropbox SDK всю внутреннюю работу самостоятельно? - person Orange; 12.04.2021
comment
Обновление: проверил пример и обнаружил, что весь поток аутентификации должен быть изменен для работы с SLT (короткоживущие токены). Похоже, что мое приложение продолжает работать с LLT (долгоживущие токены) даже после изменения типа аутентификации на SLT в консоли разработчика Dropbox. Как конечные пользователи должны перейти с LLT на SLT? Или требуется явная повторная аутентификация? - person Orange; 12.04.2021
comment
@Orange Да, реализация краткосрочных токенов в официальных SDK Dropbox включает использование токенов обновления, поэтому они будут автоматически выполнять обновления для получения новых краткосрочных токенов по мере необходимости. И существующие долгоживущие токены доступа также продолжат работать. Существующие пользователи могут явно повторно авторизовать приложение для переключения на временные токены доступа (и токены обновления), но это не является строго обязательным. - person Greg; 12.04.2021
comment
Спасибо за ответ. Я отладил код и подтверждаю, что Dropbox SDK сам обновляет SLT. Единственное, чего хотелось бы (и, возможно, это будет удобно другим пользователям Dropbox SDK) - получать уведомления об обновлении SLT, чтобы сохранить обновленную информацию. ... но это не обязательно - Что произойдет после 30 сентября 2021 года с теми пользователями, которые не перешли на SLT? - person Orange; 13.04.2021
comment
@Orange Можете ли вы уточнить, что вы имеете в виду, когда говорите, что хотите получать уведомления об обновлении SLT, чтобы сохранить обновленную информацию? SDK должен справиться со всем этим за вас. - person Greg; 13.04.2021
comment
@Orange После изменения любые существующие долгоживущие токены доступа будут продолжать работать, как и раньше. Любые пользователи, все еще использующие старую версию приложения, не обновленную для краткосрочных токенов доступа или токенов обновления, получат краткосрочный токен доступа, только если/когда они обработают поток авторизации приложения после изменения. - person Greg; 13.04.2021
comment
Я имею в виду фоновый доступ. Как я вижу, учетные данные можно было получить только на этапе явной авторизации. И нет возможности получить обновленные учетные данные после обновления STL. - person Orange; 13.04.2021
comment
@Orange В Dropbox Objective-C SDK SDK автоматически обрабатывает хранилище учетных данных для вас. В Dropbox Java SDK на Android вам нужно просто сохранить и повторно использовать токен обновления. Токен обновления не меняется при каждом обновлении, поэтому вы можете просто использовать его повторно. Вам не нужно каждый раз сохранять новый краткосрочный токен доступа. - person Greg; 13.04.2021