Авторизация по email и номеру телефона
Доброго времени суток!
Возникла необходимость реализовать возможность входа на сайт как по e-mail + пароль, так и по номеру телефона + пароль.
Так как опыта в этом дела мало и гугл не помог, то я решил обратиться в вам, уважаемое сообщество.
Реально ли это реализовать с помощью preHook'а Login'a? Или можно как-то расширить для этого HybridAuth?
Куда вообще копать? Выполнима ли вообще задача без ковыряния ядра?
Единственный вариант, который приходит в голову: получать введенный номер > искать его в базе > получать из базы e-mail > сравнивать email с паролем. Но, признаться, я слабо представляю как это реализовать.
Может быть уже кто-то делал подобное и готов поделиться наработками?
Буду рад любому совету.
Возникла необходимость реализовать возможность входа на сайт как по e-mail + пароль, так и по номеру телефона + пароль.
Так как опыта в этом дела мало и гугл не помог, то я решил обратиться в вам, уважаемое сообщество.
Реально ли это реализовать с помощью preHook'а Login'a? Или можно как-то расширить для этого HybridAuth?
Куда вообще копать? Выполнима ли вообще задача без ковыряния ядра?
Единственный вариант, который приходит в голову: получать введенный номер > искать его в базе > получать из базы e-mail > сравнивать email с паролем. Но, признаться, я слабо представляю как это реализовать.
Может быть уже кто-то делал подобное и готов поделиться наработками?
Буду рад любому совету.
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
OnBeforeWebLogin — насколько я понимаю это событие срабатывает до начала процесса авторизации.
Этим событием ловим процесс аутентификации получаем с формы данные поля юсер нейм и ищем в юзерх по 3м полям, мылу телефону и юзернейму, если у какого то юзера, что то из этого нашлось, то на данном этапе можно подпихнуть в параметр username нужный логин (чисто теоретически).
В посте решения нет.
То есть мы отшибаем процесс авторизации этим событием, ищем нужного юзера по введенным данным и логиним его сами и все.
Сюда можно дописывать еще критерии поиска, можно хоть по дополнительным полям логиниться
Плагин вешается на событие onUserNotFound