Когда вы добавляете интеграцию Facebook в веб-приложение, как вы обрабатываете истечение срока действия токена OAuth и какие пользовательские данные должны быть сохранены? - PullRequest
3 голосов
/ 26 января 2011

Я планирую добавить интеграцию Facebook в веб-приложение, над которым я работаю. По большей части, все идет гладко, но я не совсем понимаю, как правильно обращаться с токеном OAuth.

Последовательность событий, представленная Facebook здесь :

  1. Попросите пользователя авторизовать ваше приложение, которое отправит его в окно Facebook.
  2. Это вернет код авторизации, сгенерированный Facebook
  3. Затем вы нажимаете https://graph.facebook.com/oauth/access_token с кодом авторизации, который даст вам ограниченный по времени токен OAuth.
  4. Используя токен OAuth, вы можете отправлять запросы на доступ к профилю пользователя Facebook.

Документация Facebook содержит следующее об истечении срока действия токена:

В дополнение к токену доступа (параметр access_token) в ответе содержится количество секунд до истечения срока действия токена (параметр expires). Когда срок действия токена истечет, вам нужно будет повторить шаги, описанные выше, чтобы сгенерировать новый код и access_token, хотя, если пользователь уже авторизовал ваше приложение, ему не будет предложено сделать это снова. Если вашему приложению нужен токен доступа с неограниченным сроком действия (возможно, для выполнения действий от имени пользователя после того, как оно не использует ваше приложение), вы можете запросить разрешение offline_access.

Когда говорят, что нужно повторить шаги, описанные выше, какие шаги нужно повторить, чтобы получить новый токен OAuth? Какие данные (UID Facebook, код авторизации, токен OAuth) имеет смысл сохранить в моей локальной базе данных?

Я бы хотел, чтобы пользователь продолжал взаимодействовать с моим сайтом, и в ответ на определенные действия пользователя я хотел бы иметь возможность запрашивать у пользователя, хотят ли они что-то опубликовать на своей стене Facebook.

Ответы [ 2 ]

2 голосов
/ 04 августа 2011

Маркер доступа основан на времени и сеансе и представляет собой ненужные данные для хранения, которые не используются после закрытия сеанса пользователем.Facebook UID - единственное, что вам нужно, чтобы идентифицировать пользователя.Поскольку API Facebook иногда ужасно медленен, вы можете также сохранить имя пользователя.

Но для идентификации все, что вам нужно, это uid.

1 голос
/ 07 августа 2011

Документация, предоставляемая Facebook, обновлена ​​с тех пор, как вы задали этот вопрос.https://developers.facebook.com/docs/authentication/.

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