Facebook oauth2 API обновить токены - PullRequest
0 голосов
/ 23 февраля 2019

Я создаю приложение, которое не имеет клиентского интерфейса.

На этапе настройки: пользователь входит в систему на сервере через браузер один раз, используя oauth, и сервер удостоверяется, что клиент идентифицирован.

С этого момента браузеры не включаются.Все это происходит в фоновом режиме.Затем он продолжает действовать от имени пользователя до тех пор, пока пользователь может быть проверен.Это означает, что время от времени моему серверу нужно вызывать oauth-провайдера, чтобы подтвердить, что пользователь все еще существует.До сих пор я использовал только google oauth: время от времени я вызывал api refreshtoken и получал новый токен бесконечно со стороны сервера.(вам нужно запросить «автономный доступ» при получении токена пользователя).

Теперь я хотел бы также использовать Facebook, но, читая их API, я не вижу упоминания о возможности для сервераобновите свои токены: https://developers.facebook.com/docs/facebook-login/access-tokens/refreshing/ Похоже, все это должно быть сделано с клиентского устройства.Поскольку у меня нет клиентского устройства, означает ли это, что я не могу написать такого рода приложение с Facebook?

1 Ответ

0 голосов
/ 25 февраля 2019

Я думаю, что ваш сценарий может быть реализован через механизм Facebook.Но вам необходимо поддерживать повторный вход в систему, если при использовании токена доступа с длительным сроком действия произошла ошибка.Это может произойти из-за мер безопасности, принятых Facebook (например: взлом данных, криптографическое нарушение), или когда пользователь отзывает токены или меняет пароль, или когда токены не используются в течение более длительного времени.

Действия, которым необходимо следовать (в соответствиик своим документам)

  1. Получить токен доступа пользователя

    Это недолговечные

    Краткосрочныетокены обычно имеют время жизни около часа или двух

  2. Обмен короткоживущих токенов на долгоживущие токены

    Они имеютпродолжительность жизни около 60 дней, даже если они не используются.

    долгоживущий токен обычно длится около 60 дней.

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

Но, как уже упоминалось, срок действия этих токенов может истечь,

Эти токены обновляются один раз в день, когда пользователь, использующий ваше приложение, отправляет запрос на серверы Facebook. Если не будет сделано никаких запросов, срок действия токена истечет примерно через 60 дней, и пользователю придется снова пройти через процесс входа в систему, чтобы получить новый токен.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...