Расшифровать или декодировать токен доступа Facebook из Facebook Graph iOS SDK

Facebook iOS SDK предоставляет зашифрованные или закодированные токены доступа в следующем формате:

v9ylvkttPnuFWUX4KVdjDPB0SRXkuKX7z281rqjHuG0.eyJpdiI6ImEwWXBDaEtncWpDTU5ibUNuQWdROWcifQ.Y-DwxRY2ZAFZiP7EVuR-HksXqmGw9LXP6umGrfz2XnjSLm0a508u7_jXq0_Kz5a2S8AUUulzUvIRVxTS51_i6VfSByOCbFBIKoBe0-n-Pa8NC29wbuVmGJLvq4W-ezhv0DzA3diiCIqCybt9ELDXoA

Используя oAuth в Интернете, Facebook предоставляет незашифрованные/незакодированные токены доступа в следующем формате (это не настоящий):

213455681425|1.BGgrgnfWrdpG_X18.3600.1213252135.2-1334679|dHcDbxGbeYbLg3SRgw12fdf4gd60

Как я могу расшифровать/декодировать токен доступа iOS, чтобы я мог прочитать значение времени истечения срока действия unix и идентификатор пользователя, как я могу с незакодированными токенами? Причина, по которой мне нужна дата истечения срока действия, заключается в том, чтобы определить, когда она истечет, и мне нужен идентификатор пользователя для публикации с токеном доступа в стиле appID|appSecret в случае, если срок действия токена доступа истек, но пользователь еще не отозвал доступ publish_stream.


person bkaid    schedule 21.07.2011    source источник


Ответы (1)


Срок действия этого токена доступа не ограничен, поскольку он имеет разрешение offline_access. Смотрите .

В этом случае похоже, что срок действия токена доступа истек, деавторизовав приложение или изменив свой пароль. Чтобы избежать этого, рассмотрите возможность использования URL-адреса обратного вызова для деавторизации приложения. Вот еще подробности:

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

http://developers.facebook.com/docs/authentication/

person Jeff Sherlock    schedule 21.07.2011
comment
Этот токен был просто примером, который я нашел в Интернете, чтобы показать формат - я не хотел вставлять свой собственный. Я обновил вопрос, указав мой токен с истекшим сроком действия. Я не запрашиваю offline_access — просто publish_stream. Но вернемся к вопросу, есть ли способ декодировать этот токен (возможно, используя секрет) для анализа идентификатора пользователя/метки времени истечения срока действия? - person bkaid; 22.07.2011
comment
Тоже ищу эту информацию, хотя в моем случае я не ищу конкретно срок действия, но очень хотелось бы узнать как расшифровать токен - person Duck Jones; 07.07.2018