Обновление токенов OAuth 2
Обновление токенов OAuth 2
Это руководство предполагает, что вы уже создали приложение OAuth2
Если нет, обратитесь к этому руководству и вернитесь сюда, как только получите access_token и refresh_token после авторизации через OAuth 2.
Основы обновления токенов
Если вы включили область доступа offline в свой запрос учетных данных OAuth2.0, успешная аутентификация через приложение Accounts от Frame.io вернет полезную нагрузку, которая выглядит следующим образом:
access_token — это токен Bearer, который можно использовать для действий от имени аутентифицированного пользователя; он истечет через 3600 секунд (один час); после этого refresh_token можно использовать для получения нового access_token. Срок действия токена обновления истечет через 30 дней, после чего пользователю необходимо будет войти в систему заново, создав новую пару токенов доступа/обновления и т. д. Если вы явным образом не запросите область доступа офлайн, вы не получите refresh_token, и поэтому через час вам придется полностью повторно аутентифицировать пользователя.
Получение токена обновления при выполнении аутентификации
Вы не можете использовать refresh_token, которого у вас нет, поэтому обязательно в своем приложении:
- Запросите область доступа офлайн.
- Получите
refresh_token, который возвращается в выполненном обратном вызове.
Для удобства обратный вызов из наших руководств по приложениям OAuth 2 воспроизведен здесь, включая вызов os для сохранения токена обновления. Обратите внимание, что предоставлено два примера: один с настроенным PKCE (не включает заголовок базовой аутентификации) и один без него (включает заголовок базовой аутентификации).
Без PKCE
С PKCE
Выполнение обновления
Само обновление — это один вызов URL токена Frame.io:
- Метод: POST
- URL: https://applications.frame.io/oauth2/token
Тип контента: application/x-www-form-urlencoded
Обновление всегда будет включать как минимум следующие три атрибута в данных формы:
grant_type: refresh_tokenscope: <scopes>refresh_token: <refresh_token>
Если вы используете PKCE, нужно будет включить client_id вашего приложения в эти данные формы; если нет, нужно будет включить заголовок базовой аутентификации с client_id и client_secret вашего приложения в качестве имени пользователя и пароля соответственно.
Без PKCE
Аналогично выполнению первоначального обратного вызова аутентификации без PKCE, это стандартное обновление потребует предоставления ваших client_id и client_secret в качестве имени пользователя и пароля в заголовке базовой аутентификации.
С PKCE
И снова мы следуем правилам нашего первоначального цикла /callback:
- Мы не включаем заголовок
Авторизация - Мы должны включить
client_idв наши полезные данные
Поздравляем!Теперь вы можете управлять полным жизненным циклом токенов клиентского приложения OAuth2.0.