связывание пользователей Facebook с пользователями в локальной базе данных - PullRequest
0 голосов
/ 09 марта 2019

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

  • accessToken - содержит токен доступа для пользователя, использующего приложение.
  • expiresIn - указывает время UNIX, когда токен истекает и должен быть обновлен.
  • signedRequest - подписанный параметр, который содержит информацию о человеке, использующем приложение.
  • userID - идентификатор лица, использующего приложение.

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

Сразу после входа в систему клиент должен получить эту информацию с моего сервера.

onFacebookLogin(response) {
  const { accessToken, expiresIn, signedRequest, userID } = response;
  const userKey = ???? ;
  infoService.getInfo(userKey).then((info) => this.info = info);
}

Очевидно, мне нужен ключ в моей базе данных для выполнения этой выборки:

  1. Этот ключ должен идентифицировать пользователя уникальным образом.
  2. Это должен быть постоянный , а не какой-то временный токен, который меняется каждые x дней.
  3. Это должен быть безопасный , в том смысле, что он не может быть просто именем пользователя. (Это должно быть что-то, о чем другие не могут догадаться.)

Соответствует ли accessToken, userID или signedRequest этим условиям? Или я должен использовать другой подход (например, аутентификация на стороне сервера)?

(PS: это не в официальной документации.)

1 Ответ

1 голос
/ 11 марта 2019

Для идентификации возвращающихся пользователей необходимо использовать userID. Он будет уникальным и не изменится для этого конкретного приложения.

Для отображения пользователей в разных приложениях: https://developers.facebook.com/docs/apps/for-business/

...