Токен постоянного доступа в OAuth2

Можно ли получить токен постоянного доступа с помощью OAuth2? Я хочу использовать Box для загрузки файлов во время установки. Установка захватывает все файлы в определенной папке. У меня есть учетная запись box, настроенная как владелец папки, и в API v1 я могу получить постоянный auth_token для повторного использования в моем исполняемом файле. Но похоже, что с OAuth2 я могу получить только токен доступа на 1 час и токен обновления. Но поскольку конечный пользователь на самом деле не имеет доступа к Box, а приложение является настольным, они не могут пройти аутентификацию на лету, если срок действия токена истек. Я знаю, что есть и другие решения, но API версии 1 позволил мне это сделать, и я надеялся не потерять эту функциональность, когда версия 1 устарела.


person user1946925    schedule 03.01.2013    source источник


Ответы (2)


Реализация OAuth2 в Box не создает постоянных токенов. Однако, как и в V1 API, вы можете создать ссылку для загружаемого файла, доступную для пользователей, не являющихся пользователями Box. Вы должны установить общий доступ на «открытый» в пользовательском интерфейсе или через API файл json.

В документации есть раздел . которые объясняют, как это сделать. По сути, вы передаете PUT в конечную точку /files/ с небольшим телом JSON, например:

{"shared_link": {"access": "open"}}

Вы получите обратно тело файла json с заполненным разделом shared_link. Что-то вроде этого:

"shared_link": {
    "url": "https://www.box.com/s/rh935iit6ewrmw0unyul",
    "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
    "vanity_url": null,
    "is_password_enabled": false,
    "unshared_at": null,
    "download_count": 0,
    "preview_count": 0,
    "access": "open",
    "permissions": {
        "can_download": true,
        "can_preview": true
    }
person Peter    schedule 04.01.2013
comment
Все другие облачные провайдеры, с которыми у меня есть опыт работы, предоставляют статический токен обновления (например, Google Drive, SkyDrive). Может быть не в соответствии со спецификацией, но значительно упрощает ее правильное обслуживание. Скажем, я хочу сохранить обновленный маркер обновления после каждого его использования - это нормально, но что, если произойдет какая-то неисправность или приложение по какой-то причине завершится до того, как это произойдет (например, на мобильном устройстве). Затем мне придется запросить, чтобы пользователь повторил процесс аутентификации снова и снова. - person AndersC; 06.01.2013

Вы можете использовать токен обновления, чтобы получить новый токен доступа, который действует еще один час, и новый токен обновления.

Таким образом, вашему настольному приложению может потребоваться безопасное подключение к Интернету для чтения/записи.

  • токен доступа
  • срок действия токена доступа
  • обновить токен
  • обновить дату истечения срока действия токена**

**Каждый токен обновления действителен только в течение 14 дней. Надеялся, что Box удалит функцию истечения срока действия.

В качестве альтернативы поместите свои файлы в общедоступное место в соответствии с первоначальным предложением.

person MikeLim    schedule 05.01.2013