Как я могу идентифицировать пользователей Facebook, которые еще не используют мое приложение?

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

Другими словами, системный администратор вводит несколько профилей Facebook, и когда пользователь пытается войти в мое приложение, система проверяет, есть ли запись для этого профиля Facebook.

Раньше я делал это, используя имя пользователя Facebook, потому что администратор мог легко получить эту информацию из URL-адреса профиля Facebook, а Facebook предоставлял это имя пользователя, когда пользователь входил в систему. Это больше невозможно с Graph API 2.0, потому что Facebook не предоставить поле имени пользователя больше.

Итак, у вас есть какие-либо предложения о том, как системный администратор может легко идентифицировать пользователей, чтобы им был предоставлен доступ в моем приложении?


person joaopribs    schedule 25.06.2014    source источник
comment
Единственное, о чем я могу думать, это использовать электронную почту   -  person WizKid    schedule 25.06.2014
comment
@WizKid, но знаете ли вы какой-нибудь простой способ получить адрес электронной почты пользователя? Мол, это где-то показано или как-то иначе?   -  person joaopribs    schedule 25.06.2014


Ответы (1)


@WizKid прав, лучше всего это сделать с помощью электронной почты пользователя. Любой пользователь сможет войти в систему, но затем вы можете встроить проверку, чтобы увидеть, находится ли адрес электронной почты этого пользователя в вашем «предварительно одобренном» списке.

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

FB.login(function (response) {
  // handle response

}, { scope: "email" }); // <<< the important bit

Примечание. в новом диалоговом окне входа в Graph 2.0 пользователь может не указывать свой адрес электронной почты, сняв флажок в разделе диалогового окна «Изменить предоставленную информацию». В результате вам нужно будет дважды проверить, действительно ли пользователь предоставил свой адрес электронной почты.

person Chris Houghton    schedule 26.06.2014
comment
Спасибо за ваше предложение. Я понимаю, что могу использовать электронную почту, когда пользователь пытается войти в систему, но как системный администратор может найти это в чьем-то профиле Facebook? Я имею в виду, что в моей ситуации администратор должен ввести это до того, как пользователь попытается войти в систему (чтобы система могла проверить это, когда он входит в систему через диалоговое окно входа в Facebook). - person joaopribs; 26.06.2014