2013-08-15 4 views
2

У меня есть приложение iOS, которое подключается к различным API-интерфейсам, таким как API Instagram, Facebook и Twitter.OAuth 2.0 access_token renewable

Мне нужно сделать, когда аутентификация через OAuth 2.0 - это получить access_token, который у меня есть.

У меня только один вопрос, когда я его обновляю? Я читал в Интернете, что это продлится долгое время, но все еще нуждается в обновлении ..... Ну ... сколько времени для обновления?

Или я обновляю его при каждом вызове API, который я делаю, например, когда я хочу получить JSON-канал для пользователя Instagram или Twitter, мне нужно сначала просмотреть access_token?

И как насчет того, когда я хочу сделать POST для службы, такой как Twitter. Нужно ли обновлять access_token, прежде чем я смогу сделать POST?

Спасибо за ваше время, Дэн.

ответ

2

Обновление вашего токена Oauth при каждом запросе API является дорогостоящим временем, и слишком много частых запросов токенов могут привести к аннулированию маркера вашего приложения. Reference

Вместо в попытке избежать отправки запроса с неправильным маркером, вы должны рассмотреть вопрос об осуществлении обратного вызова или перехватчик, который будет проверять, если ответ содержит код ошибки, а затем соответствующим образом обработать ошибку (отобразить сообщение об ошибке или автоматически перенаправлять запрос на аутентификацию). Обратный/перехватчик позволяет автоматически запускать эту проверку ошибок, когда каждый запрос завершен.

+0

Hi @charlesg. Спасибо за ваш ответ, единственная проблема, с которой я столкнулся с вашим методом, заключается в том, что токены доступа не долгое время, некоторые службы, такие как Instagram, похоже, позволяют им прослужить очень долгое время, в то время как такие сервисы, как Google Plus, несколько дней. Таким образом, ваш метод будет означать, что пользователь должен продолжать подписываться ..... Это очень их раздражало бы :( – Supertecnoboff

+0

Есть ли способ запросить новый токен доступа, используя старый токен, вместо того, чтобы пользователь постоянно входил в систему? – Supertecnoboff

+0

Google поддерживает токены обновления. Это позволяет вам запрашивать новый токен аутентификации, не требуя действий от пользователя [link] (https://developers.google.com/accounts/docs/OAuth2WebServer) – charles