Можно ли проверить, подтверждено ли письмо на Facebook?
Об этом сообщили в Facebook черезhttps://www.facebook.com/whitehat/report/ 16 декабря 2013 года, а 17 декабря Facebook ответил, чтоошибка давно исправлена.
Я повторно проверил это с моей учетной записью Facebook (на которой я до сих пор не подтвердил адрес электронной почты) и при использованииGrap API Explorer инструмент Невозможно получить адрес электронной почты этой учетной записи, используя Graph API или FQL-запрос.
Заключение: Адрес электронной почты, который вы получаете от Facebook с помощью Graph API или запроса FQL, является подтвержденным. Если учетная запись еще не подтверждена, это электронная почта, но получить ее невозможно.
Оригинальный постЯ делаю веб-приложение с SSO, которое предлагает пользователю войти в систему с помощью Google или Facebook. Я хотел бы, чтобы пользователи с обоими типами учетных записей отображались в моей системе как один и тот же пользователь независимо от того, с какими учетными записями они вошли в систему. Чтобы достичь этого, я думаю использовать адрес электронной почты в качестве идентификатора, чтобы знать, должен ли я создать новую учетную запись или пользователь уже существует.
Чтобы не создавать проблем с безопасностью, я должен знать, что адрес электронной почты проверен и фактически принадлежит пользователю. Для GoogleAPI userinfo можете сказать мне, если письмо подтверждено или нет, так что здесь нет проблем. Но я не могу найти ничего подобного вAPI Graph Facebook.
Можно ли узнать, подтвержден ли адрес электронной почты в Facebook?
Я знаю, что естьverified
поле, но это только говорит, если учетная запись проверена, а не адрес электронной почты.
Сначала казалось, что вы можете использовать API Graph только для учетных записей, адрес электронной почты которых подтвержден. Если адрес не был подтвержден, я просто получил ошибку, сообщающую, что мне нужно сначала подтвердить адрес электронной почты, прежде чем я смогу войти на любой сторонний сайт.
Однако это не похоже на правду для всех учетных записей. В некоторых случаях можно получить доступ ко всем частям Facebook, даже если у вас нет подтвержденного адреса электронной почты. Одним из примеров этого является, когда вы регистрируетесь с@ myopera.com Почта Адрес.
Когда вы регистрируетесь в Facebook с адресом электронной почты @ myopera.com, вы получаете сообщение о том, что ваша учетная запись была временно заблокирована, как только вы отправляете форму регистрации. Чтобы продолжить, вам нужно указать свой номер телефона, чтобы подтвердить свою учетную запись и «защитить Facebook от спама» (извините за шведский на скриншоте, это было до того, как я смог войти в Facebook и сменить язык на английский):
Когда вы предоставляете свой номер телефона, вы вошли в систему, и Facebook больше не беспокоит вас о том, что вы должны подтвердить свой адрес электронной почты.
Единственное место, где вы можете увидеть, что ваш адрес электронной почты еще не подтвержден, находится на странице настроек:
Мобильные настройки, которые обычно недоступны до того, как вы проверили свой адрес электронной почты, доступны и содержат номер телефона, указанный при регистрации:
В дополнение к этому также возможно войти на сторонние сайты с неподтвержденным адресом электронной почты:
Когда я подключаюсь к графику API с этим пользователем, я могу получить неподтвержденный адрес электронной почты иverified
поле возвращает true, как и ожидалось, так как у меня естьподтвердил аккаунт добавив номер телефона. Очевидно, я не могу доверять тому, что адрес электронной почты, который я получаю от Facebook, действительно принадлежит пользователю, у которого есть учетная запись Facebook.
Есть ли другой способ узнать, проверен ли адрес электронной почты или нет, или я должен сам проверить его, если я хочу использовать его для идентификации пользователя?