Я пишу приложение Rails, которое использует omniauth-facebook для аутентификации пользователя по FB (и для получения токена доступа FB OAuth для пользователя). Затем приложение использует Koala для выполнения различных вызовов FB Graph API, используя сохраненный токен OAuth.
Я обновляю сохраненный токен каждый раз, когда пользователь повторно аутентифицируется (обычно, когда он входит в мое приложение). Даже в этом случае срок действия сохраненного токена истечет (или станет недействительным) время от времени.
Как лучше всего защитить себя от сбоев аутентификации и обновить токен при использовании Koala?
Должны ли все вызовы быть заключены в блоки begin / rescue с обработчиком исключений, который повторно аутентифицирует пользователя по FB?
Есть ли способ (с помощью Koala) воспользоваться процессом «расширения токенов доступа», описанным здесь? Если нет, есть ли лучшие практики по написанию моего собственного кода для извлечения нового токена самостоятельно из вызова Koala?