Facebook, Twitter и т. Д. Войдите на сайт, не получая письма - PullRequest
3 голосов
/ 28 декабря 2011

Мне удалось настроить систему для входа на наш сайт через Facebook, Twitter, Google и т. Д. Это модифицированная версия плагина WordPress для входа в социальную сеть.

Он выбирал адреса электронной почты из социальных сетей и добавлял их в учетные записи пользователей нашей системы. Теперь это не так. Это добавляет адрес электронной почты немного похож на этот .. a85b287d8d30ca2b1ee4cd2fb31f6f7a@example.com

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

Это правда, что я возился с настройками, которые делали адрес электронной почты и имя пользователя одинаковыми, однако это перекрывало имя пользователя с полем электронной почты, а не наоборот.

EDIT ---

Я отменил свою работу, но она все еще делает это. Я проверяю наличие других сценариев и удаляю все ошибочные социальные интеграции, не связанные с этим. Пока результатов нет.

ПУТЬ -

example.com действительно то, что он говорит, это не код для моего или чьего-либо домена.

ДАЛЕЕ -

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

// generate an email if none
        if ( ! isset ( $user_email ) OR ! is_email( $user_email ) ){
            $user_email = strtolower( $provider . "_user_" . $user_login ) . "@example.com";
        }

        // email should be unique
        if ( email_exists ( $user_email ) ){
            do
            {
                $user_email = md5(uniqid(wp_rand(10000,99000)))."@example.com";
            } while( email_exists( $user_email ) );
        }

Очевидно, что это создает наш фантомный адрес электронной почты, поэтому возникает вопрос, почему он не получает правильный адрес из социальной сети.

Есть идеи?

1 Ответ

0 голосов
/ 28 декабря 2011

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

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

Так что, если адрес электронной почты уникален, он отлично работает.

Другой пользователь зарегистрировался, когда мы были в тестовом режиме.Это приводит к расследованиям.К большому разочарованию Facebook мы установили 4 аккаунта для тестирования с уникальным адресом электронной почты, и все работало отлично.

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

РЕШЕНИЕ ....

Убедитесь, что в учетной записи пользователя нет повторяющихся адресов электронной почты..

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