|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
как правильно обновить протухший AcessToken
предистория:
Я использую фб-авторизацию в своей флэшке.Логика работы следующая: 1) юзер жмакает "войти" 2) открывается окно авторизации фейсбука 3) юзер логинится 4) получает accessToken+fb id 5)все последующие запросы клиент подписывает этими данными сервер в свою очередь на каждом запросе проверяет валидность токена,отсылая запрос сюда https://graph.facebook.com/Fbid?access_token=xxxxxxxxxx если все ок -сервер шлет ответ, если фейсбук выдает ошибку,сервер генерит auth_error до этого момента все вроде бы работает. Теперь проблема: Проблемы начались когда я решил потестить истекание срока годности токена. Для этого я логинлюсь в фб-форме в своей флэшке,открываю фейсбук в соседней вкладке, разлогиниваюсь там, сервер ожидаемо присылает auth_error.В интернетах пишут, что если токен протух надо вновь вызвать FB.login и он тихо для юзера вернет новый токен. Делаю так, но во время вызова возникает js-эксепшен FB.login() called when user is already connected. При этом возвращается старый токен,захожу на фейсбук и вижу, что я все еще разлоган. вопрос: Может существует какой-нибудь спец.метод в fb api,который позволяет обновить протухший токен? Добавлено через 5 часов 53 минуты Вопрос разрешился Для потомков:оказывается перед повторным логином надо вызывать FB.getLoginStatus со вторым параметром FB.getLoginStatus(function(response) { if(response.status!="connected") { FB.login(function(response){ //тут получаем новый токен } },true); Второй параметр у getLoginStatus нужен чтоб api брало статус не из кеша, а делало новый запрос Последний раз редактировалось undefined; 19.03.2015 в 12:45. |
Часовой пояс GMT +4, время: 18:30. |
|
« Предыдущая тема | Следующая тема » |
Теги |
accessToken , fb api , refresh |
|
|